编程论坛
注册
登录
编程论坛
→
C++教室
进制转换的问题
kol888
发布于 2019-11-22 13:11, 1639 次点击
int a=10000
unsigned char b[4]
a的十六进制是2710,怎么赋值才能得到下面的b
b[4]={0x27,0x10}
2 回复
#2
rjsp
2019-11-22 13:16
b[4]={0x27,0x10}
b[4] 是不存在的,即使它存在,也不能一个char单元保存两个数值
b[0] = (a>>0)&0xFF;
b[1] = (a>>8)&0xFF;
b[2] = (a>>16)&0xFF;
b[3] = (a>>24)&0xFF;
……
之所以有“……”是因为 sizeof(int) 未必等于 4
#3
kol888
2019-11-22 13:22
谢谢
1