%02x 打印出很多f
当类型是char型,凡是0x80以上,即最高位是1的数据,通过"%02x"打印后会在前面填充6个‘f’,即变成ffffff87这样的数据。 而换成unsigned char型则打印正常。 但是在ARM的linux上之前没有遇到这样的问题。看来对于平台还有编译器还是很有关系的,但是现在的疑惑就是%02x其中的2代表只有2位数据,但是现在却打印了8位,诡异。
·
当类型是char型,凡是0x80以上,即最高位是1的数据,通过"%02x"打印后会在前面填充6个‘f’,即变成ffffff87这样的数据。
而换成unsigned char型则打印正常。
但是在ARM的linux上之前没有遇到这样的问题。看来对于平台还有编译器还是很有关系的,但是现在的疑惑就是%02x其中的2代表只有2位数据,但是现在却打印了8位,诡异。
更多推荐
已为社区贡献2条内容
所有评论(0)