常用的进制以及转换

常用的进制表示法有二进制,八进制,十进制,十六进制

一、十进制

十进制就是日常的数字,比如100,就是十进制,200也是十进制,十进制是以10为基数的数制。它使用10个不同的数字(0、1、2、3、4、5、6、7、8、9)来表示数值

1、将八进制转换为十进制:

将八进制数转换为十进制数的方法是:将八进制数的每一位数字乘以其对应的位值,然后将所有乘积相加比如八进制的25转换为10进制,方法如下:

5 * 80  = 5
2 * 81  = 16
5+16 = 21,因此转换为十进制的值为21

二、八进制

八进制是一种基于8的数制,它使用0到7这8个数字来表示数值,八进制的优点:

  • 基数为8:八制数的每一位可以取0到7中的任意值,不能超过7
  • 进位规则:逢8进1,因此,十进制的0-7的八进制表示还是0-7,但是十进制的8,已经超过了7,就需要进位了,因此8的八进制为10,9的八进制为11,10的八进制为12
  • 值:每一位的权重是8的幂次方,从右到左依次为 80、81、82

十进制转换为8进制方法:

  • 将十进制数除以8,记录商和余数
  • 用上一步得到的商继续除以8,再次记录商和余数
  • 重复上述步骤,直到商为0
  • 将所有余数倒序排列,得到的数就是八进制数

例如:将十进制数123转换为八进制数,如下:

123÷8=15,余数为3
15÷8=1,余数为7
1÷8=0,余数为1
将余数倒序排列:173
因此,十进制数123对应的八进制数是173

三、十六进制

十六进制(Hexadecimal)是一种以16为基数的数制,它使用16个不同的符号来表示数值。这些符号包括10个阿拉伯数字(0-9)和6个英文字母(A-F),其中A-F分别表示10到15

十六进制符号如下:

  • 数字:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • 字母:A(10)、B(11)、C(12)、D(13)、E(14)、F(15)

十六进制的位值:

  • 十六进制数的每一位都有一个对应的位值,从右到左依次为160,161,162,163 ….

1、将十进制的数字419转换为十六进制,如下:

  • 将419 / 16 = 26 余数为3
  • 用上一步的商26 / 16 = 1 余数为10
  • 继续用1 /16 余数为1

然后将所得的余数从右往左排序,得到的就是十六进制,10的十六进制表示为A,因此结果为1A3

2、将十六进制1A3转换为10进制,从右侧开始,每一位乘以对应位置的位值,然后相加就是十进制,如下:

  • 3 * 160 = 3
  • A * 161 = 160 (A这里是10)
  • 1 * 162 = 256
  • 3 + 160 + 256 = 419 ,最终的十进制为419

四、二进制

二进制(Binary)是一种以2为基数的数制,它只使用两个数字:0和1。二进制是计算机系统中最基本的数制,因为计算机硬件通过电平信号(高电平和低电平)来表示数据,而二进制的0和1正好对应这两种电平状态

二进制的位值:二进制数的每一位都有一个对应的位值,从右到左依次为20,21,22,23,…

1、例如,二进制数1011可以转换为十进制表示为:

1 * 20 + 1 * 21 +0 * 22 + 1 * 23 = 11

2、将十进制11转换为二进制步骤为:

  • 11 / 2 = 5 余数为1
  • 5 / 2 = 2 余数为1
  • 2 / 2 = 1 余数为0
  • 1 / 2 = 0 余数为1
  • 因此最终转换为二进制为1011

注意:二进制的最左侧的数字表示符号位,如果是0表示正数,1表示负数,比如:18的二进制为00000000000000000000000000010010,最左侧为0,-18的二进制为11111111111111111111111111101110,最左侧为1

标签