我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

一.本文所涉及的内容() 二.背景()

先前我运用SQL技术将十进制整数转换成了三十六进制,相关SQL代码可参照SQL进制转换函数。实际上,这一转换原理是基于二进制、八进制、十进制和十六进制之间的转换公式。进制转换是基础数学知识的一部分,然而我发现网络中鲜有文章能够清晰、简洁、明了地阐述这一概念。正因如此,我产生了撰写这篇文章的念头,旨在帮助你消除对进制转换的担忧与恐惧。

[id_2[]82468]

(:进制关系结构图)

本图将分为四个部分进行详细剖析,对每一部分,我们都将采用图文并茂的方式进行深入讲解。

二、八、十六进制转换为十进制;十进制转换为二、八、十六进制;二进制与八、十六进制之间相互转换;八进制与十六进制之间相互转换;三.进制转换的计算方法。

在数值表达中,通过在数字序列后附加特定的字母来标识其采用的数制。其中,字母"B"代表二进制数制,"O"或"Octal"代表八进制数制,"D"或省略表示十进制数制,而"H"则表示十六进制数制。比如,53B等同于53O,等同于43D,等同于2BH。

(一) (二、八、十六进制) → (十进制)

(:其他进制转换为十进制)

计算二进制数时,需从最低位开始,即从右侧向左数。每个位的权值依次为2的0次方、2的1次方、2的2次方,以此类推。将所有位上的数值乘以其对应的权值,然后将这些乘积相加,得到的总和即为该二进制数的十进制表示。

例:将二进制的()B转换为十进制的步骤如下:

1. 第0位 1 x 2^0 = 1;

2. 第1位 1 x 2^1 = 2;

3. 第2位 0 x 2^2 = 0;

4. 第3位 1 x 2^3 = 8;

5. 第4位 0 x 2^4 = 0;

6. 第5位 1 x 2^5 = 32;

进行数值读取,并将所得数值累加,计算过程为1加2加0加8加0加32,总和为43,因此,该数值用十六进制表示即为(43)D。

计算八进制数时,需从最右侧的低位开始,权值依次为8的0次方、8的1次方、8的2次方,以此类推,权值随位数递增。将各数位上的数值与其对应的权值相乘,再将所得乘积相加,得到的总和即为该八进制数的十进制表示。

八进制计数法中,每当数值达到8时,便向前一位进位,而八进制数字则通过0至7这八个数字来表示数值。

例:将八进制的(53)O转换为十进制的步骤如下:

1. 第0位 3 x 8^0 = 3;

2. 第1位 5 x 8^1 = 40;

进行读数操作,将所得数值进行累加,计算得出3加上40等于43,因此(53)O转换为十进制后等于(43)D。

计算方法如下:首先,将十六进制数从右至左依次编号,编号从0开始;接着,第0位的权值是16的0次幂,第1位的权值是16的1次幂,第2位的权值是16的2次幂,以此类推,权值逐渐增大;最后,将各个位上的数值与其对应的权值相乘,并将所有乘积相加,得到的总和即为该十六进制数的十进制表示。

十六进制就是逢16进1,十六进制的16个数为。

例:将十六进制的(2B)H转换为十进制的步骤如下:

1. 第0位 B x 16^0 = 11;

2. 第1位 2 x 16^1 = 32;

进行读数操作,将所得数值进行累加,11与32相加等于43,因此(2B)的十六进制表示为(43)D。

(二) (十进制) → (二、八、十六进制)

(:十进制转换为其它进制)

采取除以2取余的方法,即每次对整数进行除以2的操作,得到的余数即为当前位上的数值,然后继续用商除以2,得到的余数是前一位的数值,如此循环,直至商变为0。在读取结果时,应从最后一个余数开始,依次向前读取,直至第一个余数。

例:将十进制的(43)D转换为二进制的步骤如下:

1. 将商43除以2,商21余数为1;

2. 将商21除以2,商10余数为1;

3. 将商10除以2,商5余数为0;

4. 将商5除以2,商2余数为1;

5. 将商2除以2,商1余数为0;

6. 将商1除以2,商0余数为1;

进行读数时,需注意,由于最低位数字是通过连续除以2所得,故其位于最高位。故应从最低位的余数开始,逆向读取数字,即(43)D转换为()B。

(:图解十进制 → 二进制)

采用除8取余的方法,即每次对整数进行除以8的操作,得到的余数即为当前位上的数值,接着用上一次的商继续除以8,得到的余数则代表前一位的数值,如此循环往复,直至商数变为0。在读取结果时,需从最后一个余数开始,依次向前,直至最前面的余数。

例:将十进制的(796)D转换为八进制的步骤如下:

1. 将商796除以8,商99余数为4;

2. 将商99除以8,商12余数为3;

3. 将商12除以8,商1余数为4;

4. 将商1除以8,商0余数为1;

进行读数时,需注意,该数值的最后一位是通过连续除以8多次计算得出的,故而它位于最高位。在读取数字时,应从最低的余数开始向前进行,因此,1434这个数字实际上等同于(796)D,也即是(1434)O。

(:图解十进制 → 八进制)

采用间接途径,首先将十进制数值转换为二进制形式,接着再将该二进制数值转化为八进制数值。

(:图解十进制 → 八进制)

采用除16取余的方法,具体操作是每次将整数的部分进行除以16,得到的余数即为当前位上的数值,然后继续用商去除以16,得到的新的余数即为下一位的数值。如此循环往复,直至商的值为0。在读取结果时,应从最后一位的余数开始,依次向前读取,直至最前面的余数。

例:将十进制的(796)D转换为十六进制的步骤如下:

对796进行除以16的运算,得到的商为49,余数为12,这与十六进制数C相对应。

2. 将商49除以16,商3余数为1;

3. 将商3除以16,商0余数为3;

进行读数时,需注意,由于最后一位数字是通过连续除以16得来的,所以它代表了最高位。因此,在读取数字时,应从最后的余数开始向前推算,即31C,这等同于十进制中的(796),用十六进制表示即为(31C)H。

(:图解十进制 → 十六进制)

采用间接转换方式,首先将十进制数值转换为二进制形式,接着再将该二进制数值转换成十六进制表示。

(:图解十进制 → 十六进制)

(三) (二进制) ↔ (八、十六进制)

(:二进制转换为其它进制)

操作步骤如下:首先,采用三合一法则,以二进制小数点为界,向左(或向右)每三位进行分组,然后将每组的三位二进制数按照权值相加,最后,保持小数点位置不变,将所得结果依次排列,从而得到所需的八进制数字。若在左侧(右侧)截取三位数字,遇到最高(最低)位数字时,若不足三位,则可在小数点左侧(右侧),也就是整数部分的最高(最低)位,添上0,直至达到三位。

例:将二进制的(.)B转换为八进制的步骤如下:

1. 小数点前111 = 7;

2. 010 = 2;

3. 11补全为011,011 = 3;

4. 小数点后010 = 2;

5. 011 = 3;

6. 1补全为100,100 = 4;

进行数值读取,需从数值的最高位开始向下逐位读取,例如:十进制数(327.234)转换成八进制表示为(327.234)O。

(:图解二进制 → 八进制)

二进制与八进制编码对应表:

二进制

八进制

000

001

010

011

100

101

110

111

操作步骤如下:首先,将八进制数拆分为三个部分;其次,将每一部分转换成对应的二进制数,每个二进制数由三位组成;接着,按照二进制数的权位进行相加;最后,保持小数点的位置不变。

例:将八进制的(327)O转换为二进制的步骤如下:

1. 3 = 011;

2. 2 = 010;

3. 7 = 111;

4. 读数,读数从高位到低位,,即(327)O=()B。

(:图解八进制 → 二进制)

操作步骤如下:首先,采用四合一的方法,即以二进制小数点为界,向左(或向右)每四位进行一次取值,随后将这四位二进制数按照权重进行相加,最后,保持小数点位置不变,将所得结果依次排列,最终得到的数字即为所需的十六进制数。若取左(右)侧四位数字,遇最高(低)位不足四位时,可在小数点左侧(右侧),即整数最高(低)位添设0,直至达到四位。

例:将二进制的()B转换为十六进制的步骤如下:

1. 0111 = 7;

2. 1101 = D;

3. 读数,读数从高位到低位,即()B=(D7)H。

(:图解二进制 → 十六进制)

采取分四步的策略,首先将一个十六进制数字拆分为四个二进制数字,接着按照权重将这些二进制数字相加,以还原出对应的十六进制数值,同时保持小数点的位置不变。

例:将十六进制的(D7)H转换为二进制的步骤如下:

1. D = 1101;

2. 7 = 0111;

3. 读数,读数从高位到低位,即(D7)H=()B。

(:图解十六进制 → 二进制)

(四) (八进制) ↔ (十六进制)

(:八进制与十六进制之间的转换)

转换步骤如下:首先,将八进制数转换成二进制数;接着,将得到的二进制数转换成十六进制数;在整个转换过程中,小数点的位置需要保持不变。

例:将八进制的(327)O转换为十六进制的步骤如下:

1. 3 = 011;

2. 2 = 010;

3. 7 = 111;

4. 0111 = 7;

5. 1101 = D;

进行数值读取,需从最高位至最低位依次读取,例如在D7位置,其对应的十进制值为327,十六进制表示为(D7)H。

(:图解八进制 → 十六进制)

操作步骤包括:首先,将十六进制数值转换成二进制形式;接着,保持小数点的位置不变;最后,将得到的二进制数转换成八进制数。

例:将十六进制的(D7)H转换为八进制的步骤如下:

1. 7 = 0111;

2. D = 1101;

3. 0111 = 7;

4. 010 = 2;

5. 011 = 3;

进行数值读取,需从数值的最高位依次向下,所读数值为327,这表示十六进制中的(D7)等于十进制中的(327)。

(:图解十六进制 → 八进制)

二维码
扫一扫在手机端查看

本文链接:https://by928.com/9349.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线