【发布时间】:2013-12-12 01:26:01
【问题描述】:
我在转换数据时遇到问题。
我得到了一个特定的字符串(它实际上只代表一些数据位(小端序),而不是文本):
char freeBlockSize[2];
我想把它转换成这种类型:
unsigned short numOfBlocks;
我一直在尝试以下代码,但它似乎打印垃圾,因为每次我运行它时,“numOFBlocks”的值都会得到不同的输出(freeBlockSize 是由另一个函数提供给我的,并且始终是同样):
unsigned short numOFBlocks = (unsigned short)freeBlockSize;
printf("Test: %d %d\n",freeBlockSize[0],freeBlockSize[1]);
printf("Value: %hu\n",numOFBlocks);
提前感谢您的帮助。
【问题讨论】:
-
“另一个函数”的short是如何编码的?字节序是否得到保证,还是实现定义?
-
哦,它是小端序。我会更新问题。
标签: c type-conversion unsigned