2013-04-20 19 views
0

我试图将小端转换为大端并且遇到问题。 我有一个数组,有2个字节的无符号字符,这是十六进制值。 ,我想使它由零的大端已消失,我不能得到我想要的值。转换小端到大端包括0(零)

例如, 我的目标是让

array[0] = 0b 
array[1] = 40 
output = 0b40 so i can see this value as 2880 when %d 

所以我用

output = (array[1]>>4) | (array[0]<<4); 

但在现实中,我看到

printf("output = %x04\n", output); 
output = 00b4 

我想要的输出为0b40所以我可以得到2880当我做

printf("output = %x\n", output); 
output = 0b40 

printf("output = %d\n", output); 
output = 2880 

谢谢你们的任何帮助将不胜感激

回答