c语言中char合成int

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:24:46
char a;
char b;
int c;
怎样才能使c的高字节为a,低字节为b。
同理把c拆成a和b
int自然是两个字节,16位。

在VC中int是32bit,在TC中int是16bit,在某个编译器中要知道int是多少位,用sizeof(int)就可以看出。

怎样才能使c的高字节为a,低字节为b
答:c=a*256+b

把c拆成a和b
答:
a=c&0xff00
b=c&0x00ff

你的int到底有几个字节?下面的代码默认int是2个字节,如果多于2个字节,只使用低2个字节 。

组合:
char a;
char b;
int c = ((int)a << 8) | b;

拆分:
int c = 0x4041;
char a = c & 0xff00;
char b = c & 0xff;