文章目录
第二章 变量和基本类型
1 int转换成unsigned
1.1 原码,反码,补码
原码:正数的原码为其二进制表示;负数的原码为其绝对值的二进制表示,并将最高位置为1,表示其符号。
反码:正数的反码与原码相同;负数的反码为其原码除符号位外,其他位按位取反。
补码:正数的补码与原码相同;负数的补码为其反码+1。
1.2 int 数据存储
在存储int型数据时,按照原始数据的补码存储。由于最高位是符号位,因此int所能表示数据的范围应为 -2^31 ~ 2^31-1 。例如:
存储int型1时,记录的为:0000 0000 0000 0000 0000 0000 0000 0001
存储int型-1时,记录的为:1111 1111 1111 1111 1111 1111 1111 1111
1.3 数据转换
int型转换为unsigned int型其实就是把int型的31位和表示符号的最高位,一起看作是unsigned int型的32位一并读取,例如:
int型1:0000 0000 0000 0000 0000 0000 0000 0001,按unsigned的32位读法仍然为1
int型-1:1111 1111 1111 1111 1111 1111 1111 1111,按unsigned的32位读法为 2^32-1 &#