作业帮 > 综合 > 作业

C语言 一个32位数怎么转化成四个八位数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/16 17:37:43
C语言 一个32位数怎么转化成四个八位数
例如:int data = 0x11223344; char b[4];
想让 b[0] = 44; b[1] = 33; b[2] = 22; b[3] = 11;
为什么b[0] = data & 0xff; b[1] = (data >> 2) & 0xff; b[2] = (data >> 4) & 0xff; b[3] = (data >> 6) &0xff
不行
移位操作符 美其名约 移位
是指以2进制位为单位进行操作
对应你的应该是b[1] = (data >> 8) & 0xff;
b[2] = (data >> 16) & 0xff;
b[3] = (data >> 24) & 0xff;