赞
踩
内容: 记录下char型转换为int型时,符号位扩展的问题
先看下例码:
此时我们希望得到的结果是正数,因为80是一个正数,char扩展为int后,应该结果是80.
结果:
分析:此时跟我们想象的不一样,因为char像int扩展时,还有一个要考虑的就是符号位问题。
0x80的二进制表示为:10000000,那么最高位为1,此时扩展为int后,扩展出来的位会按照char类型的符号位来进行扩展,会变成:111…1 10000000.
验证一下:
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。