进制
二进制(binary):0,1,满2进1,以0b或0B开头。
十进制(decimal):0-9,满10进1。
八进制(octal):0-7,满8进1,以数字0开头。
十六进制(hex):0-9和A-F,满16进1,以0x或0X开头表示,此处A-F不区分大小写。如:0x21AF + 1 =0X21B0
二进制
二进制的整数有三种形式:
原码:直接将一个数值换成二进制数。最高为是符号位。
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
负数的补码:其反码加1。
计算机以二进制补码的形式保存所有的整数:
正数的原码、反码、补码都相同。
负数的补码是其反码加1。
计算机底层都以补码的方式来存储数据
如:(二进制原码 -14)11110010 =>(反码)10001101=>(补码)10001110
进制的基本转换
进制的基本转换:
十进制和二进制互转
二进制转十进制:乘以2的幂数,如:1110 = 1x2^3 + 1x2^2 + 1x2^1 + 0x2^0
十进制转二进制:除以2取余数的逆,如:14=(14/2=7–0)(7/2=3–1)(3/2=1–1)(1/2=0–1)=0111=1110(逆)
二进制、八进制、十进制、十六进制互转通过二进制作为中间数来进行转换。
二进制的三次幂是八进制,将三个作为一位转换成八进制,
如: 11101001(二进制)->0351(八进制)
同理,二进制的四次幂是十六进制,将四个作为一位转成十六进制,
如:11101001(二进制)->0XE9(十六进制)
如果是八进制或者十六进制转二进制,则将每一位拆成三位拼一起即可。
以上。
如有不合理的地方或更好的建议,请不吝赐教,谢谢!