求高手帮我写一段c语言段代码 ,是关于字节整数转换的,急用,在线等,谢谢,具体题目在问题补充

unsigned char a=0x77,b=0x82; int data; 按规定,负数是用补码(反码加1)表示的,现在有两字节整数,假设是负数,a为该整数的低字节=0x77,b为该整数的高字节=0x82,请编写一段代码把它转换为绝对值相等的正整数data。
是在TC里运行的,谢谢

第1个回答  2011-12-15
#include <stdio.h>

int main(void)
{
int a = 0x8277;
unsigned int data,b;
b=a;
data=0xffff-b+1;
printf("%d\n", data);
return 0;
}
第2个回答  2011-12-15
#include <stdio.h>

int Byte2Int(unsigned char hi, unsigned char low);

int main(void)
{
unsigned char a = 0x77; //0x8277 = 33399
unsigned char b = 0x82;
int data = 0;

data = Byte2Int(b, a);

printf("%d\n", data);

return(0);
}

int Byte2Int(unsigned char hi, unsigned char low)
{
return((int)((hi << 8) + low) & 0xffff);
}本回答被提问者采纳
第3个回答  2011-12-24
int data;

union
{
unsigned char c[2];
int i;
}x;

x.c[0] = a;
x.c[1] = b;
data = 0 - x.i;
相似回答
大家正在搜