位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码
-
位(bit):表示二进制位,位时计算机内部数据存储的最小单位,只有两种状态”0“,”1“
-
字节(Byte):字节是计算机中数据处理的基本单位,计算机以字节为单位存储和解释信息,并规定一个字节有八个二进制构成。(通常1个字节可以存放一个ASCII码, 2个字节可以存放一个汉字国标码)
-
字:是指计算机进行数据处理时,一次存取、加工和传送的数据长度。一个字通常由一个或多个字节构成。
-
字长:是指计算机每个字所包含的位数,分为可变字和固定字长。计算机的字长是指它一次可以处理的二进制位数。
基本换算:
1TB = 1024GB
1GB = 1024MB
1MB = 1024KB
1KB = 1024Byte -
计算机的8位、16位、32位是指一次可以处理的二进制位数
例如286微机的字是由两个字节组成,它的字长为16,即为16位
-
Byte能表达的数字范围是[-128,127]:
对于计算机来说,一个二进制的数字它的最高位是符号位,0表示正数,1表示负数,所以1111 1111表示的是-127,而0111 1111表示的是127。计算机用补码来存储一个数(最低位),如8位二进制数可表达的范围是,用补码1000 0000表示-128.
同理,16位,32位的二进制位的表示范围也就分别是和
如果是无符号位的话,Byte最大可以表示255的整数
-
计算机的原码、反码和补码
正数:
原码 == 反码 == 补码
即:原:0000 0001 ---- 反:0000 0001 ---- 补:0000 0001
负数:
反码 == 原码的非符号取反
补码 == 反码+1
即:原:1000 0001 ---- 反:1111 1110 ---- 补:1111 1111
-
十进制正整数转换二进制:
除二取余,然后倒序排列,高位补零
42D=101010B,如果字节单位约定为8位,位数不够时,高位补零,则42的二进制规范写法00101010
2. 十进制负整数转换二进制:
先将对应的正整数转换成二进制后,对二进制取反,然后对结果再加1
3. 二进制转十进制正整数:
首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制
4. 二进制转十进制负整数:
若二进制补足位数后首位为1时,就需要先取反再换算