gpt4 book ai didi

python - 如何在c或python中将数字的高8位移动7次?

转载 作者:行者123 更新时间:2023-11-30 17:30:11 25 4
gpt4 key购买 nike

例如:EAX = 10101010 00001110 11001010 00100000

我想将 EAX 高 8 位向右移动 7 次,我在 C 或 Python 中可以做什么?

在汇编中:SHR ah,7

EAX的结果是:10101010 00001110 00000001 00100000

那么SHR ax,7怎么样?

我已经尝试过 ((EAX & 0xff00) >> 8 ) >> 7,但我不知道如何将其添加回 EAX?

最佳答案

你可以这样做:

在 C\C++ 中:EAX = (EAX & 0xFFFF00FF) | (((EAX & 0x0000FF00) >> 7) & 0x0000FF00)

在更扩展的 C\C++ 代码中将是:

unsigned long shift_count = 7;
unsigned long mask = 0x0000FF00;
EAX = (EAX & (~mask)) | (((EAX & mask) >> shift_count) & mask)

更改maskshift_count以满足您的需求。

其中EAX是保存值的变量,0x0000FF00是感兴趣字节的掩码,0xFFFF00FF是前一个掩码的反转.

关于python - 如何在c或python中将数字的高8位移动7次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25235040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com