对于整数:有四种表现形式
二进制:0,1 逢二进一
八进制:0-7 逢八进一,用0开头表示
十进制:0-9 逢十进一
十六进制:0-9,A-F (A :10 B:11 递增)逢十六进一,0x表示
逢十进一:在生活中,0-9是一位数,9加一就是10(二位数)了,这就叫逢十进一、
逢二进一:1就是最大位,打过1就要进一位,例如: 1+1=10 ,1+1+1=11。
进制转换
例如:进制数转十进制 1011.01
从小数点始,以0为开始数,小数点左面有四位 对应: 1,1,0,1;小数点右面有两位 对应:0,1。
如果1011.01是二进制的,
1011.01 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 0*2^-1 + 1*2^-2 = 11(十进制)其中 2为基数。
1*2^3 这里1代表 1011.01 中的 最高位(个十百千的位) ,2代表 要转化的进制,3是从小数点起往左计数从0开始,这里的最高位就是3
0*2^2 这里0代表 1011.01 中的 第二高位就是百位,2代表 要转化的进制,2是从小数点起往左计数从0开始,百位为2。
以此类推。
同理,如果1011是八进制的,那么 8为基数
1011 =1*8^3 + 0*8^2 + 1*8^1 + 1*8^0 = 521(十进制)。
ok,那么十进制如何转成二进制的?
以十进制的11.875为例 先取出整数 11
11/ 2 = 5 ... 1
5/2 = 2 ... 1
2/2 = 1 ... 0
1/2= 0 ...1
既 (11)10 = (1011)B
再取出小数 以0.875
0.875*2 = 1.75 1
0.75*2 = 1.5 1
0.5*2 = 1 1
既 (0.875)10 = (0.111)B
所以(11.875)10 = (1011.111)B
其中2为基数,进制转换只需要改变基数就行了。