进制转换的过程,进制转换:二进制、八进制、十六进制、十进制之间的转换

上一节我们已经讲解了四个常见的数字系统,本节我们将讲解如何把一个数字系统转换成另一个数字系统。十进制转换成其它进制整数部分和小数部分的转换算法不同,如果一个十进制数包含了整数部分和小数部分,那么整数部分和小数部分要分开进行转换。按照以下算法,可以将一个十进制数转换成 r 进制数(基数为 r 的数字系统)。整数部分的转换用十进制数的整数部分除以基数 r,得到商和余数,记下余数(第一个余数);用得到的商继续除以基数 r,再次得到商和余数,记下余数;重复步骤 2,不断用上次得到的商除以基数 r,直到商为零,记下余数(最后一个余数)。将记下的所有余数按照从后往前的顺序排列起来,就得到了 r 进制数的整数部分。注意,这是一个逆序排列,最后一个余数在最左边,表示 r 进制整数的最高位,第一个余数在最右边,表示 r 进制整数的最低位。小数部分的转换用十进制数的小数部分乘以基数 r,得到一个积,取出积的整数部分(第一个整数);用剩下的小数部分继续乘以基数 r,又得到一个积,取出积的整数部分;重复步骤 2,不断用上次得到的积的小数部分乘以基数 r,直到积的小数部分为零,取出积的整数部分(最后一个整数)。将取出的所有积的整数部分按照从前往后的顺序排列起来,就得到了 r 进制数的小数部分。注意,这是一个正序排列,第一个整数部分在最左边,表示 r 进制小数的最高位,最后一个整数部分在最右边,表示 r 进制小数的最低位。将上面得到的 r 进制的整数部分和小数部分合并在一起,就得到了整个 r 进制数。总结:整数部分的转换就是不断作除法运算,把得到的所有余数逆序排列起来;小数部分的转换就是不断作乘法运算,把得到的所有积的整数部分正序排列起来。十进制数转换成二进制数十进制数转换成二进制数的过程可以分成以下两步:整数部分不断除以基数 2,直到商为零,把得到的余数逆序排列起来;小数部分不断乘以基数 2,直到积的小数部分为零,把得到的积的整数部分正序排列起来。例子以 58.125 为例,它的整数部分是 58,小数部分是 0.125。1) 整数部分的转换:除法商余数58/2290 (最低位)29/214114/2707/2313/2111/201(最高位)⇒ (58)10 = (111010)22) 小数部分的转换乘法积整数部分0.125 x 20.250(最高位)0.25 x 20.500.5 × 21.01(最低位)⇒ (.125)10 = (.001)2将整数部分和小数部分合并起来,得到二进制数字 111010.001,也即:

(58.125)10 = (111010.001)2

十进制转换成八进制十进制数转换成八进制数的过程可以分成以下两步:整数部分不断除以基数 8,直到商为零,把得到的余数逆序排列起来;小数部分不断乘以基数 8,直到积的小数部分为零,把得到的积的整数部分正序排列起来。例子以 1508.3125 为例,它的整数部分是 1508,小数部分是 0.3125。1) 整数部分的转换:除法商余数1508/81884 (最低位)188/823423/8272/802(最高位)⇒ (1508)10 = (2744)82) 小数部分的转换乘法积整数部分0.3125 x 82.52(最高位)0.5 x 84.04(最低位)⇒ (.3125)10 = (.24)8将整数部分和小数部分合并起来,得到八进制数字 2744.24,也即:

(1508.3125)10 = (2744.24)8

十进制转换成十六进制十进制数转换成十六进制数的过程可以分成以下两步:整数部分不断除以基数 16,直到商为零,把得到的余数逆序排列起来;小数部分不断乘以基数 16,直到积的小数部分为零,把得到的积的整数部分正序排列起来。例子以 691780.548828125 为例,它的整数部分是 691780,小数部分是 0.548828125。1) 整数部分的转换:除法商余数691780/16432364 (最低位)43236/16270242702/16168E168/1610810/160A(最高位)⇒ (691780)10 = (A8E44)82) 小数部分的转换乘法积整数部分0.548828125 x 168.781258(最高位)0.78125 x 1612.5C0.5 x 168.08(最低位)⇒ (.548828125)10 = (.8C8)16将整数部分和小数部分合并起来,得到八进制数字 A8E44.8C8,也即:

(691780.548828125)10 = (A8E44.8C8)16

其它进制转换成十进制任何一种进制转换成十进制的算法都是一样的,就是“按权相加”。将 r 进制转换成十进制可以分以下两步进行:将每一位的数码乘以该位的权重;把得到的所有积相加。将二进制转换成十进制以二进制数字 1101.101 为例,它在数学上可以写作:

(1101.101)2 = (1 × 23) + (1 × 22) + (0 × 21) + (1 × 20) + (1 × 2-1) + (0 × 2-2) +  (1 × 2-3)⇒ (1101.11)2 = 8 + 4 + 0 + 1 + 0.5 + 0 + 0.125 = 13.625⇒ (1101.11)2 = (13.625)10

所以,二进制 1101.101 转换成十进制的结果是 13.625。将八进制转换成十进制以八进制数字 145.23 为例,它在数学上可以写作:

(145.23)8 = (1 × 82) + (4 × 81) + (5 × 80) + (2 × 8-1) + (3 × 8-2)⇒ (145.23)8 = 64 + 32 + 5 + 0.25 + 0.05 = 101.3⇒ (145.23)8 = (101.3)10

所以,八进制 145.23 转换成十进制的结果是 101.3。将十六进制转换成十进制以十六进制数字 1A5.2C 为例,它在数学上可以写作:

(1A5.2C)16 = (1 × 162) + (10 × 161) + (5 × 160) + (2 × 16-1) + (12 × 16-2)⇒ (1A5.2C)16 = 256 + 160 + 5 + 0.125 + 0.046875 = 421.171875⇒ (1A5.2C)16 = (421.171875)10

所以,十六进制 1A5.2C 转换成十进制的结果为 421.171875。二进制、八进制、十六进制之间的转换这几种数字系统的基数存在次方的关系,转换起来非常简单。二进制转换成八进制二进制数的基数是 2,八进制数的基数是 8,因为23 = 8,所以每三位二进制数可以转换成一位八进制数。将二进制数转换成八进制数的步骤为:对二进制数进行划分,每三位为一组,整数部分从右往左进行划分,小数部分从左往右进行划分。不足三位时,整数部分高位用 0 补齐,小数部分低位用 0 补齐。按照从左往右的顺序,依次写出每组二进制数对应的八进制数。每组二进制数都有八种不同的组合,分别对应不同的八进制数字,如下所示:000 = 0    001 = 1    010 = 2    011 = 3100 = 4    101 = 5    110 = 6    111 = 7例子把二进制数 101110.01101 转换成八进制数:

(101110.01101)2 = (101) (110) . (011) (01)2⇒ (101110.01101)2 = (101) (110) . (011) (010)2⇒ (101110.01101)2 = (56.32)8

所以,二进制数 101110.01101 转换成八进制的结果为 56.32。二进制转换成十六进制这个过程和「二进制转换成八进制」的过程类似。二进制数的基数是 2,十六进制数的基数是 16,因为24 = 16,所以每四位二进制数可以转换成一位十六进制数。将二进制数转换成十六进制数的步骤为:对二进制数进行划分,每四位为一组,整数部分从右往左进行划分,小数部分从左往右进行划分。不足四位时,整数部分高位用 0 补齐,小数部分低位用 0 补齐。按照从左往右的顺序,依次写出每组二进制数对应的十六进制数。每组二进制数都有十六种不同的组合,分别对应不同的十六进制数字,如下所示:0000 = 0    0001 = 1    0010 = 2    0011 = 30100 = 4    0101 = 5    0110 = 6    0111 = 71000 = 8    1001 = 9    1010 = A    1011 = B1100 = C    1101 = D    1110 = E    1111 = F例子把二进制数 101110.01101 转换成十六进制数:

(101110.01101)2 = (10) (1110) . (0110) (1)2⇒ (101110.01101)2 = (0010) (1110) . (0110) (1000)2⇒ (101110.01101)2 = (2D.68)16

所以,二进制数 101110.01101 转换成十六进制的结果为 2D.68。八进制转换成二进制这是一个和「二进制转换成八进制」相反的过程,具体步骤为:将八进制数字的每一位分别转换成一组三位的二进制数字。按照从左往右的顺序,依次写出每组二进制数字。整数部分最高位的 0 和小数部分最低位的 0 是多余的,直接去掉。例子把八进制数 145.23 转换成二进制数:

(145.23)8 = (001) (100) (101) . (010) (011)2⇒(145.23)8 = (1100101.010011)2

所以,八进制数字 145.23 转换成二进制的结果为 1100101.010011。十六进制转换成二进制这是一个和「二进制转换成十六进制」相反的过程,具体步骤为:将十六进制数字的每一位分别转换成一组四位的二进制数字。按照从左往右的顺序,依次写出每组二进制数字。整数部分最高位的 0 和小数部分最低位的 0 是多余的,直接去掉。例子把十六进制数 65.4C 转换成二进制数:

(65.4C)16 = (0110) (0101) . (0100) (1100)2⇒(65.4C)16 = (1100101.010011)2

所以,十六进制数 65.4C 转换成二进制的结果为 1100101.010011。八进制转换成十六进制先将八进制数转换成二进制数,再将二进制数转换成十六进制数。例子把八进制数 145.23 转换成十六进制数。1) 先转换成二进制数:

(145.23)8 = (001) (100) (101) . (010) (011)2⇒ (145.23)8 = (1100101.010011)2

2) 把得到的二进制数转换成十六进制数:

(1100101.010011)2 = (110) (0101) . (0100) (11)2 ⇒ (1100101.010011)2 = (0110) (0101) . (0100) (1100)2 ⇒ (1100101.010011)2 = (65.4C)16

所以,八进制数 145.23 转换成十六进制的结果为 65.4C。 十六进制转换成八进制先将十六进制数转换成二进制数,再将二进制数转换成八进制数。例子把十六进制数 65.4C 转换成八进制数。1) 先转换成二进制数:

(65.4C)16 = (0110) (0101) . (0100) (1100)2⇒ (65.4C)16 = (1100101.010011)2

2) 把得到的二进制数转换成八进制数:

(1100101.010011)2 = (1) (100) (101) . (010) (011)2⇒ (1100101.010011)2 = (001) (100) (101) . (010) (011)2⇒ (1100101.010011)2  = (145.23)8

所以,十六进制数 65.4C 转换成八进制的结果为 145.23。
求进制转换的详细过程_百度知道进制转换:二进制、八进制、十六进制、十进制之间的转换 ...十进制转二进制_百度百科计算机进制转换二进制、八进制、十进制、十六进制互转_哔哩 ...十六进制至十进制转换_百度百科进制转换试讲PPT[PPT课件] - 豆丁网八进制转换成二进制_百度知道35转换二进制过程_百度知道十六进制AB转十进制怎么转?_百度知道非常详细和简洁的任意进制转换(python实现)OctalConverter:将八进制转换为二进制或十六进制用Python实现进制转换,这一篇教程就够了 这也太完美了进制转换之2进制与16进制之间的相互转换【计算机原理学习】二进制和十进制转换Bailian3255 十进制到六进制【进制转换进制转换—二级制、十进制、八进制、十六进制间的转换浮点数的十进制和二进制转换(详细例子解答)Python程序将十进制转换为二进制,八进制和十六进制数制转换C语言十进制转换为其他进制数字计算机进制转换LeetCode刷题笔记 算法中的数学问题 进制转换问题嘘!告诉你一个小秘密—转换后我就成了你(整数进制转换)进制转换C语言项目设计——进制转换python进制转换浅析进制转换原理将十进制转换成二进制,八进制,十六进制(C语言,栈实现)进制如何转换成八进制思维导图——史上最详细的计算机基础进制转换讲解进制转换的简便方式python 十进制转换成任意进制进制转换十进制 算法解析整数进制转换技巧以及相关算法题讲解(简洁易懂)二进制、十进制、十六进制转换工具2021-进制之间的转换03用Python实现进制转换,这一篇教程就够了进制转换(简单的能看懂就够了)Java中二进制转换的多种方法代码将二进制转换为十进制
进制转换过程计算器进制转换流程图2、8、10、16进制之间的转换方法二进制转换十进制过程在线进制转换二进制转八进制过程八进制转十进制过程十进制转十六进制过程进制转换过程详解进制的转换的方法进制转换器进制转换器过程进制与进制之间的转换进制转换最简单的方法进制转换的原理进制转换步骤进制转换计算过程进制转换讲解防水用的胶粉制作技巧手柄键位心脏供血不足的症状庆余年2的开机风波目的与意义传奇1.76版下载迷你世界野人来了跑酷真我gt neo2配置参数图小学数学名师课堂教学实录iqoo z1x支持nfc吗哪里找代驾方便可靠