c语言16位分解成两个8位

如果要拆开,可以用b = a/100;c=a0;,但用b = a0xff

这是不可能的。无符号的

Int16用十六进制表示为0x04f8,b=a0xff,b = 0x00f8,即238,不能改成62。同理,c = a8

它只是把C改为0x04,也就是4。这些都是二元运算,不可能给你一个十进制的答案。

c语言是如何将一个16位的数据拆分成两个八位字节的,又是如何将两个八位字节合并成十六位的? 例如,十六进制数“2A12”分为“2A”和“12”。然而,

然后“2A”和“12”反过来合成“122A”

# includestdio.h

主()

{

int a = 0x2a12

char b,c;

b = a8

c = a0x 0 ff;

printf("%x,%x ",b,c);

a =(c8)| b;

printf("\n%x ",a);

返回0;

}

C语言中如何将一个十六进制数转换成两个八进制数 我就写个大概的提纲吧!int num//(这是十六位数字)无符号char numH//(numH获取num的高八位)无符号char numL//(numL获取num的低八位)numH =(无符号字符)(num 8);numL =(无符号字符)num;没关系!

相关文章

发表新评论