动人早晨

文章
6
资源
0
加入时间
2年10月24天

数据的存储(unsigned 以及char的截断和提升(原码,反码,补码))

就比如上面提到的1存入char类型变量,它的原码是00000001,这个就是截断,把32bit变成8bit,这个时候首个数字依旧是符号位,当他进行打印或使用的时候会还原成32bit,这个时候还原就是按照你的符号位去进行补充,这里是0,也就是补充为00000000000000000000000000000001。如图,我们按负数变成补码,这个时候这个补码就被当做了num的原码,num是无符号的,所以补码也是这个,所以最终打印出来的结果不是10。今天说的东西有点杂,咱们先讲最基础的原码,反码,补码。