关于unsigned char的问题
unsigned char bits = 1;
对于以上语句,为什么对应的二进制位为 1001 1011 ?
直接输出bits的结果是一个笑脸,为什么呀?
如果 unsigned int i = bits; 然后输出i,结果则是 1
有点搞不明白unsigned char到底是怎么存放数据的,求解惑~
[解决办法]
二进制是0000 0001,1001 1011绝对是你看错了。char/unsigned char会作为文本输出,1对应的字符就是个笑脸
[解决办法]
怎么证明对应的二进制表达是:1001 1011 的?这个没理由啊!
至于作为字符输出表现为一个笑脸,那是因为0x01字符就是它。
赋给整数之后表现为1,是因为把它转换成整数之后确实就是1——0x01嘛。
[解决办法]
我也奇怪了......
你实际执行一下就知道那个值不对。也许是印刷时排错了版。
[解决办法]
还真这么写的,只能说是写错了