进制的转换
提起进制有二进制,八进制,十进制
特点:
二进制:0b开头
八进制:0开头
十进制:没有特殊
十六进制:0x开头
那么进制之间怎么转换呢?
下面以一个简单的例子来说明一下:
以十进制 >十进制为例
12345
=10000+2000+300+40+4
=1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
=10000 +2000+300+40+5
=12345

画图能力有限,别介意;

进制之间怎么快速转换呢;
有上图我们可以知道;
三位二进制的正好是8进制的最大数
四位呢正好是16进制的最大数
举例说明下:
0b011111 转换正八进制怎么说呢
>八进制 011 111
3 7 =037;
>十进制 01 1111
1 f = 0x1f;

还好没有出错,哈哈
2 我们知道计算机的运算都是通过补码来运算那么我们就不得不知道原反补码了:
原码:正数的原码最高位是0 , 负数的原码最高位是1
反码: 反码是吧原码的取反,符号位不变
补码:补码是反码的基础上+1 ;
注意: 正数的原码,反码,补码 都相同!!!!!!!!!! 变动的只是负数
例子: +7
符号位 数值为
原码: 0 0000111
反码 0 0000111
补码: 0 0000111
-7呢?
原码 1 0000111
反码 1 1111000
补码 1 1111001