gpt4 book ai didi

c - 使用按位运算符从32位整数检索字节

转载 作者:行者123 更新时间:2023-12-04 10:52:14 25 4
gpt4 key购买 nike

这是问题所在,目前存在问题,我只是不明白这是怎么回事...


getByte-从字x字节中提取字节n,字节的编号从0(LSB)到
3(MSB)示例:getByte(0x12345678,1)= 0x56合法操作:! 〜&
^ | + << >>最大操作数:6评分:2


int getByte(int x, int n) {
return ((x << (24 - 8 * n)) >> (8 * n));
}

最佳答案

移位没有任何意义-首先,您向左移位(24-8n)位,然后向右移位8n位。为什么?还有,这是错误的。如果n为0,则将x左移24位并返回该值。尝试用笔和纸检查这是完全错误的。

正确的方法是:

int getByte(int x, int n) {
return (x >> 8*n) & 0xFF;
}

关于c - 使用按位运算符从32位整数检索字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132706/

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