真正的明白了负数在计算机中的表示方法
- 计算机中的是正数用原码表示,计算机中的负数用补码表示即原码取反再加一
- 这就是为什么char 型的变量的取值范围为-128~+127,因为他的第一位要表示一个数的正负符号,第一位为0表示正数,为1表示负数
如:用char 定义的十进制数18
二进制:0001 0010B
八进制:022
十六进制:0x12
如:用char 定义的十进制数-18
二进制:1110 1110B
八进制:0156
十六进制:0xee
- 为什么short 型的变量的取值范围为-32768~+32767,因为他的第一位要表示一个数的正负符号,第一位为0表示正数,为1表示负数
如:用short 定义的十进制数18
二进制:0000 0000 0001 0010B
八进制:022
十六进制:0x0012
如:用short定义的十进制数-18
二进制:1111 1111 1110 1110B
八进制:0177756
十六进制:0xffee
- 这就是为什么int 型的变量的取值范围为-65536~+65535,因为他的第一位要表示一个数的正负符号,第一位为0表示正数,为1表示负数
如:用int定义的十进制数18
二进制:0000 0000 0000 0000 0000 0000 0001 0010B
八进制:022
十六进制:0x 0000 0012
如:用short定义的十进制数-18
二进制:1111 1111 1111 1111 1111 1111 1110 1110B
八进制:017777777756
十六进制:0x ffff ffee