不同进制数的前后缀表示以及他们之间的相互转换(全面解析版) 您所在的位置:网站首页 将十进制数转换为16进制数的方法 不同进制数的前后缀表示以及他们之间的相互转换(全面解析版)

不同进制数的前后缀表示以及他们之间的相互转换(全面解析版)

2024-06-19 07:28| 来源: 网络整理| 查看: 265

目录

前言

1.不同进制的表示方法

2.不同进制之间的对照

 3.二进制数转换为其他进制数

3.1二进制数转换为八进制数

3.2任意进制数转换为十进制数

3.3二进制数转换为十六进制数

4.其他进制数转换为二进制数

4.1八进制数转换为二进制数

4.2十进制数转换为任意进制数

4.3十六进制数转换为二进制数

总结

前言

十六进制:(简写为 hex 或下标 16)是一种基数为 16 的计数系统,是一种逢 16 进 1 的进位制。通常用数字 0、1、2、3、4、5、6、7、8、9 和字母 A、B、C、D、E、F(a、b、c、d、e、f)表示,其中: A~F 表示 10~15,这些称作十六进制数字。

十进制数:是组成以10为基础的数字系统,有 0,1,2,3, 4, 5, 6, 7, 8, 9 十个基本数字组成。十进制,英文名称为 Decimal System,来源于希腊文 Decem,意为十。十进制计数是由印度教教徒在 1500 年前发明的,由阿拉伯人传承至 11 世纪。

八进制:Octal,缩写 OCT 或 O,一种以 8 为基数的计数法,采用 0,1,2,3,4,5,6,7 八个数字,逢八进 1。一些编程语言中常常以数字 0 开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。

二进制:是计算技术中广泛采用的一种数制。 二进制数据是用 0 和 1 两个数码来表示的数。 它的基数为2,进位规则是"逢二进一",借位规则是"借一当二"。 二进制数(binaries)是逢2进位的进位制,0、1是基本算符 ;计算机运算基础采用二进制。

1.不同进制的表示方法 进制范围前缀后缀

二进制(Binary)

0~10b/0Bb/B八进制(Octal)0~70o/O十进制(Decimal)0~9无,可加+/-d/D十六进制(Hexadecimal)0~9;A~F(10~15)0x/0Xh/H

例如:

进制前缀表示法后缀表示法

二进制

0b1000000000010000000000B八进制020002000O十进制10241024D(后缀可加可不加)十六进制0x400400H

注意事项:

十六进制中的A~F分别表示数字10~15;在十六进制表示法中,字母"A~F"可以用大写或小写字母来表示。对于大部分编程语言和计算机系统来说,习惯上使用大写字母来表示十六进制中的"A~F",但也可以使用小写字母"a~f"来表示。两者都是有效的,但需要注意保持一致以避免混淆。在写代码的时候,不同的语言甚至是于不同的编程软件对前后缀的识别可能有所不同,C/C++一般使用前缀表示,后缀书写可能出现报错; 2.不同进制之间的对照

6b3a0669ca8a4776a5ee07c15d2f9399.png

 3.二进制数转换为其他进制数 3.1二进制数转换为八进制数 对于一个二进制混合数(既包含整数部分,又包含小数部分),在转换时应以小数点为界。其整数部分,从小数点开始往左数,将一串二进制数分为3位(八进制)一组,在数的最左边可根据需要加“0”补齐;对于小数部分,从小数点开始往右数,也将一串二进制数分为 3 位一组,在数的最右边也可根据需要加“0”补齐。最终使总的位数为3的整数倍,然后分别用对应的八进制数取代。

【例】:

8169fb00e5c947d9aa63b42852de950c.png

2⁸2⁷2⁶2⁵2⁴2³2²2¹2⁰2561286432168421

将每一组的三位分别对照上面这个表格相加得出数值,拼接一起即可,这样说可能不太明白,我列举个表格供大家参考:

二进制对照表计算过程结果2561286432168421001111111+1×2+1×47000000101×22.....0111×1+1×230101×22

然后从上往下写就是结果(1702.32)₈;可能我叙述的比较麻烦,但是当你写起来是很简单的,我只是叙述的比较清楚,实际上以上的步骤心算即可;

3.2任意进制数转换为十进制数

按权展开相加法 (这种方式适用于任意进制数转换为十进制数)

将任意进制数的各位数码与它们的权值相乘,再把乘积相加,就得到了一个十进制数。这种方法称为按权展开相加法。

【例】:(任意进制数转换为十进制数)

(11011.1)₂ = 1×2⁴ + 1×2³ + 0×2² + 1×2¹ + 1×2⁰ + 1×2⁻¹ = 27.5

(11011.1)₈ = 1×8⁴ + 1×8³ + 0×8² + 1×8¹ + 1×8⁰ + 1×8⁻¹ = 4617.125

(11011.1)₁₆ = 1×16⁴ + 1×16³ + 0×16² + 1×16¹ + 1×16⁰ + 1×16⁻¹ = 69649.0625 

3.3二进制数转换为十六进制数 对于一个二进制混合数(既包含整数部分,又包含小数部分),在转换时应以小数点为界。其整数部分,从小数点开始往左数,将一串二进制数分为 4 位(十六进制)一组,在数的最左边可根据需要加“0”补齐;对于小数部分,从小数点开始往右数,也将一串二进制数分为 4 位一组,在数的最右边也可根据需要加“0”补齐。最终使总的位数为 4 的整数倍,然后分别用对应的十六进制数取代。

 二进制数转换为十六进制数跟转换为八进制的做法基本上一模一样,唯一的区别在于,十六进制是以4位一组;

820f5f8203bb40d6b2687fa14cd99c6c.png

二进制对照表计算过程结果256128643216842100111×1+1×2311001×8+1×412(C)00101×22......01101×4+1×2610001×88

然后从上往下写就是(3C2.68)₁₆ ;注意十六进制的特性,结果中的12不要直接写成12,为了与10进制区分,一定要写成其对应的字母;

4.其他进制数转换为二进制数 4.1八进制数转换为二进制数

八进制数转换为二进制数有两种方法可用;

方法一:连续转换法;

将八进制数使用按权展开相加法转换为十进制数,然后再由十进制数转化为二进制数;

方法二:倒推法;

根据二进制数转换为八进制数,反推八进制数转换为二进制数;

【例】:

求八进制 24.24 的二进制数:

结果二进制对照表256128643216842120104100....20104100

 将得到的二进制位从上向下拼接即可:(24.24)₈ = (10100.0101)₂

4.2十进制数转换为任意进制数

一个十进制数转换为任意进制数,通常采用基数乘除法。

这种转换方法对十进制数的整数部分和小数部分将分别进行处理,对整数部分采用除基取余法,对小数部分采用乘基取整法,最后将整数部分与小数部分的转换结果拼接起来。

【例】:将十进制数 123.6875 转换成二进制数。

除基取余法(整数部分):整数部分除基取余,最先取得的余数为数的最低位,最后取得的余数为数的最高位(即除基取余,先余为低,后余为高),商为0时结束。

整数部分:733e626d5f904f258bd4f78d253741e4.png

因此整数部分 123=(1111011)₂。

乘基取整法(小数部分):小数部分乘基取整,最先取得的整数为数的最高位,最后取得的整数为数的最低位(即乘基取整,先整为高,后整为低),乘积为1.0(或满足精度要求)时结束。

小数部分:

883e9e7bdd4c41cb9d6c774920f6ccd3.png 因此小数部分 0.6875=(0.1011)₂,所以 123.6875=(1111011.1011)₂。

4.3十六进制数转换为二进制数

十六进制数转换为二进制数有两种方法可用;

方法一:连续转换法;

将十六进制数使用按权展开相加法转换为十进制数,然后再由十进制数转化为二进制数;

方法二:倒推法;

根据二进制数转换为十六进制数,反推十六进制数转换为二进制数;

【例】:

求十六进制 24.24 的二进制数:

结果二进制对照表25612864321684212001040100....2001040100

将得到的二进制位从上向下拼接即可:(24.24)₁₆= (100100.001001)₂

总结 使用进制前后缀可以帮助我们更清楚地理解数字的表示方式,避免混淆不同进制数的意义。同时在计算机编程中,前后缀也有助于指示数字表示的进制,从而避免错误或误解。关于十进制数转换为任意进制数为何采用除基取余法和乘基取整法,以及所取之数放置位置的原理,请结合 r 进制数的数值表示公式思考,而不应死记硬背。在计算机中,小数和整数不一样,整数可以连续表示,但小数是离散的,所以并不是每个十进制小数都可以准确地用二进制表示。例如 0.3,无论经过多少次乘二取整转换都无法得到精确的结果。但任意一个二进制小数都可以用十进制小数表示,希望读者引起重视。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有