标题:进制转换的问题
只看楼主
kol888
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-11-22
结帖率:100%
已结贴  问题点数:20 回复次数:2 
进制转换的问题
int a=10000
unsigned char b[4]

a的十六进制是2710,怎么赋值才能得到下面的b

b[4]={0x27,0x10}
搜索更多相关主题的帖子: 赋值 进制转 十六进制 int unsigned 
2019-11-22 13:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
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
2019-11-22 13:16
kol888
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-11-22
得分:0 
谢谢
2019-11-22 13:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497989-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.228378 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved