进制
进制
进制介绍
计算机是由电路板与各种电子元器件组成.它在工作时候只能通过控制电路的开与关形成组合来进行不同的操作
在计算机通过电路的开与关表示数值时,只能表示1和0两个数,使用的进制是二进制
一个0或者一个1,就是1bit,称为"1位",每8bit为1个字节
不论是内存还是硬盘,存储数据以及文件,都是二进制形式存储
一个整数有4种表现形式
-
2进制 - 计算机内部使用
-
8进制 - 在二进制的基础上演变来,每3bit表示一个数位;0-7,满8进1,在java中用0开头表示
-
10进制 - 日常生活中使用的,0-9,满10进1;一个整数在java中默认是十进制数
-
十六进制 - 在二进制的基础上演变来,每4bit表示一个数位;0-9及A-F,满16进1,在java中用0x开头表示
无论什么表现形式,到了计算机内部,统统变成二进制
进制转换
1.二进制和十进制之间的转换
1.1.十进制数进行除2运算
1.2.二进制转十进制
原理: 二进制数乘以2的过程, 实际上也就是乘以2的几次方的过程
2. 二进制转八进制
原理:拆3位,从最右边开始,遇到最左边不足,零补齐
3. 二进制转十六进制
原理:拆4位
十进制与八进制以及十六进制之间的转换,都可以二进制作为过渡
二进制的原码/反码/补码
计算机底层操作数据, 并不是直接操作十进制数对应的二进制数, 而是将这个二进制数处理后再操作将首位(最高位/最左位)作为符号位区分正负, 0表示正数, 1表示负数
- 原码: 十进制数对应的二进制数
- 反码: 将原码, 符号位不变, 其余各位按位取反(1变0, 0变1)
- 补码: 反码 + 1
计算机中所有的数值都是以补码的形式进行存储与运算, 反码的作用就是为了计算补码
正数的原码/反码/补码都一样