二进制问题
二进制(binary): 0, 1 以ob或oB开头
十进制(decimal): 0 ~ 9 满10进1
八进制(octal): 0 ~ 7 以数字0开头
十六进制(hex): 0 ~ 9及A ~ F 以ox或oX开头
二进制
-
原码:直接将一个数值转换成二进制数,最高位是符号位(0为正数,1为负数)。
0 0 0 0 1 1 1 0
-
正数的原码、反码、补码都相同;负数的补码是其反码(除了原码的符号位都取反)加一。如(-14的源码):
原码:10001110 -> 反码:11110001 -> 加一:11110010
-
当得到一个二进制数时,如果是负数,则默认是补码(根据补码减一,除了符号位取反得到原码)。如:
补码:10111011 -> 减一:10111010 -> 取反:11000101 (原码)
一些小练习:
+127 :0111 1111
-127原码:1111 1111
-127反码:1000 0000
-127补码:1000 0001
-128补码:1000 0000