进制间转换

来源:互联网 发布:java转码utf-8转gbk 编辑:程序博客网 时间:2024/06/05 15:44

二进制转换成十进制:

10111      ----->               1*2^0 + 1*2^1 +1*2^2  + 0*2^3 + 1*2^4   =23;

如果是有小数点的

10111.1010             --------->  1*2^-1 + 0*2^-2  +1*2^-3  +0 *2^-4  =23.75


十六进制转十进制跟二进制转十进制是一样的,只是2换成16;


二进制转十六进制:


10001000   -------------->  88 

如果是带有小数点的

10001000.0001001    --------------->  10001000.0001  0010 ------------->88.12


二进制转成八进制

100100---------------->44

如果是带有小数点的

100100.00101-------->100100.001  010  ------------------> 44.12

=======================================================================================================


十进制转成二进制

10

10--------->10/2     5     0

5---------->5/2       2      1

2----------->2/2     1       0

1------------>1/2    0       1


如果是有小数点的

12.75


12------------->1100

0.75---------->0.75*2      1     0.5

0.5------------>0.5*2         1      0


12.75---------->1100.11


数据在计算机中是以补码的形式存在的


补码:

如果是正数,正数的二进制就是补码

如果是负数,则是绝对值的反码+1;最高位表示正负  0----->正  1------------>负

如:12.75

二进制位11100.11

反码是   10011.00

补码是   10011.01













0 0