本文目录一览:
c语言怎么把一个十六位数据拆成两个八位,怎么把两个八位数据合成十六位?
比如将十六进制数“2A12”拆成"2A"和"12",然
后再把"2A"和"12"对调位置合成"122A"
#includestdio.h
main()
{
int a=0x2a12;
char b,c;
b=a8;
c=a0x0ff;
printf("%x,%x",b,c);
a=(c8)|b;
printf("\n%x",a);
return 0;
}
C语言中,16位数转换成两个8位数,怎么转?
如果你要把它拆开来,可以用b=a/100;c=a%100;,但是用b=a0xff;
是不可能的。a的unsigned
int16进制表达为0x04f8,b=a0xff,b=0x00f8,也就是238,不可能变成62。同样c=a8;
也只是把c变成0x04,也就是4。这些都是二进制操作,不可能给你十进制的答案。
c语言中如何把一个十六位数转成两个八位数
我就写个大概啊!int num;//(这就是那个十六位数)unsigned char numH;//(numH得到num的高八位)unsigned char numL;//(numL得到num的低八位)numH = (unsigned char) (num8);numL = (unsigned char) num;这样就OK啦!