您的位置:

16位2个8位c语言,16位和8位

本文目录一览:

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啦!