位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码

  • 位(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位二进制数可表达的范围是[27,271]=[128,127][-2^7,2^7-1]=[-128,127],用补码1000 0000表示-128.

    同理,16位,32位的二进制位的表示范围也就分别是[215,2151][-2^{15},2^{15}-1][231,2311][-2^{31},2^{31}-1]

    如果是无符号位的话,Byte最大可以表示255的整数

  • 计算机的原码、反码和补码

    正数:

    原码 == 反码 == 补码

    即:原:0000 0001 ---- 反:0000 0001 ---- 补:0000 0001

    负数:

    反码 == 原码的非符号取反

    补码 == 反码+1

    即:原:1000 0001 ---- 反:1111 1110 ---- 补:1111 1111

  1. 十进制正整数转换二进制:

    除二取余,然后倒序排列,高位补零

    42D=101010B,如果字节单位约定为8位,位数不够时,高位补零,则42的二进制规范写法00101010

位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码
2. 十进制负整数转换二进制:

先将对应的正整数转换成二进制后,对二进制取反,然后对结果再加1

位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码
3. 二进制转十进制正整数:

首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制

位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码
4. 二进制转十进制负整数:

若二进制补足位数后首位为1时,就需要先取反再换算

位、字节、字、字长 | 二进制与十进制转换 | 原码、反码、补码