进制之间的转换

各进制数之间的转换 各进制数之间的转换方法主要包括二进制、八进制、十进制、十六进制之间的相互转换。 阅读详情

一: 十进制数转换成二进制数。

随便拿出一个十进制数“39”,(假如你今天买书用了39元)先来把这个39转换成2进制数。

                  商     余数                                                                     步数
39/2=         19       1                                                                      第一步     
19/2=          9        1   (这里的19是第一步运算结果的商)         第二步
9/2=            4        1   (这里的9是第二步运算结果的商)           第三步
4/2=            2        0   (这里的4是第三步运算结果的商)           第四步
2/2=            1        0   (这里的2是第四步运算结果的商)           第五步
1/2=            0        1   (这里的1是第五步运算结果的商)           第六步

那么十进制数39转换成2进制数就是100111. 既39(10)=100111(2)


解析一:1. 当要求把一个10进制数转换成2进制数的时候,就用那个数一直除以2得到商和余数。
        2. 用上一步运算结果的商在来除以2,再来得到商和余数。
        3. 就这样,一直用上一步的商来除以2,得到商和余数!那么什么时候停止呢?
        4. 请看上述运算图,第六步的运算过程是用1除以2.得到的商是0,余数是1.    
        5. 在上述图中你会清晰的看到每一步运算结果的余数,你倒着把它们写下来就是“100111”了。那么这个就是结果了。
        6. 在上述图中符号“/”代表“除以”。

二: 十进制数转换成八进制数。

随便拿出一个十进制数“358”,(假如你今天买彩票中了358元)。358是我们现实生活中所用10进制表达出来的一个数值,转换成八进制数十多少?


                  商     余数                                                                     步数
358/8=       44       6                                                                        第一步     
44/8=          5        4   (这里的44是第一步运算结果的商)           第二步
5/8=            0        5   (这里的5是第二步运算结果的商)             第三步


那么十进制数358转换成8进制数就是546。既358(10)=546(8)

解析二:  

1.没什么好说的啦,10进制数转换成2进制数  和  10进制数转换成8进制数 的唯一不一样的地方就是除数变了,除数由“2” 变成了“8”。  其余的都一样。所以解析一,你一定要看明白并记好。
2.你或许会疑问5/8为什么商为“0” 余数为“5”。因为5不够被8除,那么商就是“0”余数就是“5”  同理1/2商为“0”余数为“1”。不多解释了啊!

三: 十进制数转换成十六进制数。

 随便拿出一个十进制数“120”,(假如你今天捡了120元)。120是我们现实生活中所用10进制表达出来的一个数值,转换成十六进制数十多少?
                  商     余数                                                                    步数
120/16=      7       8                                                                      第一步     
7/16=          0       7   (这里的7是第一步运算结果的商)           第二步
@4
那么十进制数120转换成16进制数就是78,既120(10)=78(16)。

解析三:  上同,看明白并记好解析一和解析二就可。


到这里,我想我已经把10进制数转化成2进制数,8进制数,16进制数已经给你讲的很明白了。



在这里你就可以看到,十进制数148转换成2进制8进制16进制所得到数的长度是不是在逐渐缩短。这就是所谓的“进制越大,数的表达长度越短” 。



那么接下来我来给你讲解2进制数,8进制数,16进制数怎样转换成10进制数。


四:2进制数转换成10进制数。

   就拿这个数吧“111101”。


          位置    第5位  第4位 第3位 第2位 第1位 第0位  
         
          数值      1       1       1      1      0      1


111101(2)= 1*2的0次方     + 0*2的1次方 + 1*2的2次方 + 1*2的3次方 + 1*2的4次方 + 1*2的5次方
          = 1*1       + 0*2        + 1*4        + 1*8        + 1*16        +1*32
          = 1         + 0          + 4          + 8          + 16         + 32
          = 61(10)
@5
既2进制数111101转换成10进制数为“61”


解析一:  1. “2的0次方”其实是一个数学表达式,但我打不出来那种数学的格式,就用纯汉语了。“2”就是基数,“0”就是次方数。 2的0次方,最后的结果是1!记好了啊,任何数的0次方结果都是“1”.说到这里就出来了一个很具争论的问题,那就是0的0次方是等于“1”还是“0”?当然你没必要              去研究了啊。你只要记住2的0次方=“1”, 8的0次方=“1”, 16的0次方=“1”等于“1”就可以了。

          2. “1*2的0次方”中的1是第0位上的数。  那么为什么要乘以2的0次方呢? 因为它是2进制数,而且这个1处在第0位。
       
          3.“0*2的1次方”中的0是第1位上的数。  那么为什么要乘以2的1次方呢? 因为它是2进制数,而且这个0处在第1位。

          4.“1*2的2次方”中的1是第2位上的数。  那么为什么要乘以2的2次方呢? 因为它是2进制数,而且这个1处在第2位。
       
          5. 后面的2的3次方,2的4次方,2的5次方,就不用我多解释了吧。
 
          6. 将计算出来的数相加,就是这个2进制数转换成10进制数的结果。

          7. 还要注意一点,一个2进制数从右边开始的第一个数位是“第0位”而不是“第1位”,要记好了啊。看看我上面给你做的图示。


其实把8进制数,16进制数转换成10进制数,唯一变的地方就是基数变了。我给你分别个例子,你在对照上面的解析四,我相信这些你都会搞明白的。


8进制数转换成10进制数。

224(8)=?(10)

第0位  4*8的0次方     = 4
第1位  2*8的1次方     =16
第2为  2*8的2次方     =128


4+16+128=148
@6
那么224(8)=148(10)

352(8)=?(10)

8进制数352的第0位为“2”,第1位为“5”, 第2位为“3”

第0位  2*8的0次方    =2
第1位  5*8的1次方    =40
第2位  3*8的2次方    =192

2+40=192=234

那么352(8)=234(10)


16进制数转换成10进制数


2AF5(16)=?(10)

16进制数2AF5的第0位为“5”,第1位为“F”, 第2位为“A” 第3位为“2”
第0位    5*16的0次方  =5
第1位    F*16的1次方  =240
第2位    A*16的2次方  =2560
第3位    2*16的3次方  =8192

5+240+2560+8192=10997

那么2AF5(16)=10997(10)


或许你对A和F看不懂吧?没事,往下看。


@7
在2进制中只有2个数字,既1,0
在8进制中只有8个数字,既0,1,2,3,4,5,6,7
在10进制中有10个数字,既0,1,2,3,4,5,6,7,8,9
在16进制中有10个数字和6个字母,既0,1,2,3,4,5,6,7,8,9和A,B,C,D,E,F,
   字母A代表数字10,字母B代表数字11,字母C代表数字12,字母D代表数字13,字母E代表数字14,字母F代表数字15,


那么F*16的1次方  =240和A*16的2次方  =2560 你明白了吧?
2AF5(16)=10997(10)你也该明白了吧。



其实你学习到这里,基本上都应该会10进制,2进制,8进制,16进制之间的相互转换了吧!

你要考虑一个问题,出了一道题,将一个2进制数转化成16进制数!你会做吗?
最笨的办法就是先把2进制数转换成10进制数,在转化成16进制数。
当然有简单的把法。你需要记住一些常用的就好了。那些事常用的,往下看!


二进制数(仅4位的2进制数)        =      十进制数      =    16进制数
0000            =          0         =        0   
0001            =          1         =        1   
0010            =          2         =        2   
0011            =          3         =        3   
0100            =          4         =        4   
0101            =          5         =        5   
0110            =          6         =        6   
0111            =          7         =        7   
1000            =          8         =        8   
1001            =          9         =        9   
1010            =          10        =        A   
1011            =          11        =        B   
1100            =          12        =        C   
1101            =           13       =        D   
1110            =           14       =        E   
1111            =           15       =        F    

@8

当你能熟练记住这些常用的,那么做2进制数与16进制数相互转换的时候就很轻松了。来给你举个例子看看啊。


111111011010010110011011(这是一个2进制数)
先把它所包含的数字分成4个4个在一块,如下所示:
1111  1101  1010  0101  1001  1011
根据上述常用表可以得到
1111=F
1101=D
1010=A
0101=5
1001=9
1011=B
那么它所对应的16进制数就是“FDA59B”


同理给你一个16进制数,怎么快速转换成2进制呢?

FD(16)=?(2)


呵呵,记住上面的常用数据表,那不是很快就出来了。

FD(16)=1111 1101(2)


一: 2进制转换10进制

101.101(2)=?(10)
(解析一)
1. 先把2进制数101.101分成整数和小数部分,即101和0.101
   101(2)=5(10)
2. 开始把0.101转换成10进制的。
    小数点后面的“1”,处于负一位,后面的“0”处于负二位,在后面的“3”处于负三位,
   因为是2进制的转换成10进制的,那么0.101=1*2的-1次方+0*2的-2次方+1*2的-3次方=0.5+0+0.125=0.625
3. 将整数部分的和小数部分的相加,5+0.625=5.625   即101.101(2)=5.625(10)

4. 数学知识,一个数的负几次方=这个数分之一的负几次方的绝对值次方,即(举例)5的-2次方=(1/5)的2次方
                  一个数的负几分之一次方=根号下的这个数,即(举例)5的-(1/2)次方=根号5.

那么8进制,16进制转换10进制,将“1*2的-1次方+0*2的-2次方+1*2的-3次方”里面的乘号后面的“2”分别换成“8”和“16”就好了。其余的都雷同上述。

二: 10进制转换2进制
57.75(10) = ?(2)

解析二:
1.  把10进制数分成2部分,即整数部分57和小数部分0.75.  整数部分转换成2进制前面给你讲过了,主要讲小数部分的。
    A: 0.75*2=1.5  取整数部分“1”  B:(1.5-1)*2=1.0 继续取整数部分“1”  c: (1.0-1)*2=0  在取整数部分“0”  到此就停止计算了。
    然后讲取出来的整数部分 按正序排列,即110   即0.75(10)=0.110(2)
2.  讲整数和小数相加,即111001+0.110=111001.110   即57.75(10)=111001.110(2)
3.  就这么简单,切记啊。对于小数部分的一定要正取,整数部分的要逆取。

10→2: (57.75)10 = (111001.110)2
   整数部分     57/2   1                        小数部分        0.75*2     1
                   28/2   0                                 (1.5-1)*2  取 1
                   14/2   0                                 (1.0-1)*2  取0
                   7/2    1     
                   3/2    1     
                   1/2    1     

10→8: (80.140625)10 = (120.11)8
             80/8   0                   0.140625*8    取  1
             10/8   2                   (1.125-1)*8   取  1
             1/8    1                    (1.0-1)*8    取  0


10→16: (1032493.13671875)10 = (FC12D.23)16
            1032493/16    13                         0.13671875*16  取 2
            64530/16      2                          (2.1875-2)*16  取  3
            4033/16       1                          (3.0-3)*16     取  0
            252/16        12    
            15/16         15

什么叫进制?
   现在所存在的进制有10进制,2进制,8进制,16进制。
   我们日常生活中的数学计算采用的是10进制。比如你现在有9元钱,过两天又有了2元钱。总共多少钱?采用我们日常生活所用的10进制,逢十进一,算出的结果就是11元钱。
    计算机它只能认识电路的通导和阻塞,也就是0和1.所以计算机不能采用10进制来计算数据,只能采用2进制来计算数据。逢2进1.
   那么为什么后来有出现了8进制,16进制呢?为什么没有3进制,5进制呢?
   8,16分别是2的3次方,2的4次方。这样来储存数据有利于2进制,8进制,16进制之间的相互转换。所以没有3进制,5进制。
   而且进制越大,这个数所占的字节就越小,计算机要储存数据,所占的字节越少,那么有限的空间它就能储存更多的数据。给你举个例子,你就明白了。
    随便拿出来一个10进制数,148.
    148(10)=10010100(2)
    148(10)=224(8)
    148(10)=94(16)
  看到效果了吧,把它转换成2进制,数位很多。转换成16进制,数位仅仅只有2位!而且有的变成语言要用到8进制,16进制的。就比如C++,C语言。

基础知识——进制 与 进制转换 (C++ 程序) C++ 进制 与 进制转换。十进制转非十进制数、非十进制转十进制、进制的计算、程序实现 阅读详情

相关推荐

二进制十进制转换器

二进制十进制转换器

【总结】C++各种进制转换函数汇总

文章目录一、指定格式转换输出二、任意2~36进制数转化为10进制数三、10进制数转换为任意的n进制数四、例题及题解 一、指定格式转换输出 直接通过C/C++输出格式转换为相应进制的数。 例如: #include <iostream> #include <cstdio> #include <algorithm> #include <bitset> us...

360°顺滑 1万+

Excel曲线拟合实战:从基础趋势线到高级回归分析

本文系统介绍了Excel曲线拟合的完整工作流,从基础的散点图与趋势线应用,到利用Solver插件进行自定义高级回归分析。文章详细讲解了线性、多项式、指数、对数等六大常用数学模型的适用场景与选择方法,并强调了通过R²值、残差图评估拟合效果、避免过拟合与外推风险的关键步骤,帮助读者掌握从数据探索到预测评估的实战技能。

weixin_29280219的博客 538

与或非的总结

记住它们的特性,位运算符也不难。

m0_66300722的博客 1130

汇川Easy 301 和MCGS进行Modbus RTU通讯(485)浮点数读取和写入

4DF0001对应寄存器D0,4DF0003对应寄存器D2。注意:要选com2口,com1口是232通讯。

qq_61916672的博客 2913

MicroPython跨平台移植实战:从源码解析到STM32+FreeRTOS部署

本文详细解析了MicroPython的跨平台移植实战,重点介绍了如何将其从源码开始,成功部署到STM32微控制器并运行于FreeRTOS实时操作系统。内容涵盖源码结构解析、编译环境搭建、内存管理协调、FreeRTOS任务集成、数学库(math)启用与优化,以及自定义模块开发等核心步骤,为开发者提供了一套完整的、可操作的嵌入式Python移植方案。

vodka的博客 1014

C++实现:进制之间相互转换

这个进制转换不论是面试还是竞赛,还是比较常考的,然后就会有大类整数,比如给你一个1e5长的十六进制数让你转成八进制,这就很难了,所以我先以最常见的,不会爆int的整数,然后再说字符型的。因为其实本质这个输入的东西都是字符,只不过你以什么方式去读入的,导致了他成了什么类型,为什么要区分整数和字符型的数,因为字符型的数都是非常大的,通常是以长度来衡量大小的,连longlong也才18位而已,而字符通常有1e5那么长

weixin_60033897的博客 8952

CRPR的三种关键影响:从SI、OCV到Min Pulse Width的时序优化实践

本文深入探讨了CRPR(时钟重汇聚悲观度消除)在芯片时序优化中的三种关键影响:信号完整性(SI)、片上变异(OCV)和最小脉宽检查。通过实际案例分析和技术细节,展示了CRPR如何有效修正时序分析中的过度保守估计,提升设计精度。文章特别强调了SI-aware CRPR的调试技巧和OCV补偿的最佳实践,为芯片设计工程师提供了宝贵的时序优化指导。

weixin_30920853的博客 379

进制数的转换 总结

[code] 十进制数转换成二进制数。 随便拿出一个十进制数“39”,(假如你今天买书用了39元)先来把这个39转换成2进制数。 商 余数 步数 39/2= 19 1 ...

天天开心 663

浙大数值分析lab2

最可怕的一道题,题目是这样的 Root of a Polynomial A polynomial of degree nnn has the common form as p(x)=cnxn+cn−1xn−1+⋯+c1x+c0p(x)=c_n x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + c_0p(x)=c​n​​x​n​​+c​n−1​​x​

yao_zou的博客 4797

kernel: TCP: out of memory -- consider tuning tcp_mem 问题处理记录

参数名 说明 net.ipv4.tcp_max_tw_buckets = 6000 系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数值将立刻被清楚并输出警告信息。默认值为180000。对于squid来说效果不是很大,但可以控制TIME_WAIT套接字最大值,避免squid服务器被拖死。 net.ipv4.tcp_rmem = 4096 87380 4194304 接收窗口的最大大小...

weixin_46691674的博客 6893

进制之间的12种转换

二进制转八、十、十六进制;八进制转二、十、十六进制;十进制转八、二、十六进制;十六进制转八、十、二进制。

2303_76364591的博客 7048

别再手动调参数了!用3ds Max的tyDiffusion插件,5分钟搞定AI动态纹理生成

本文介绍了3ds Max的tyDiffusion插件如何通过AI技术快速生成动态纹理,大幅提升3D美术师的工作效率。从火焰、水流到布料飘动,tyDiffusion能在5分钟内完成传统手工需要数小时的任务,且效果更自然。文章详细解析了插件的核心功能、实战配置及进阶应用,帮助用户轻松实现AI动态纹理生成。

weixin_30919429的博客 672

各进制之间的转换

#region 各进制之间的转换        public static string TenConvertToOther(int num,int type)        {            //1)10进制转换为2,8,10,16进制            //2)numm是十进制数            //3)type是转换类型,可以是2,8,10,16            st

zk911的专栏 1131

电脑版微信多开,最详细教程没有之一

首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ...

大超子 4391

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

不同进制之间的转换

(一)进制分类 二进制:基数为2,2个记数符号,即0和1。“逢二进一”,二进制在数字后加上字母B,例如:101.1B 八进制:基数为8,8个记数符号,即0、1、2、3、…7。“逢八进一”,八进制在数字后加上O,为了与0区分,可以改为Q。例如:32.7Q 十进制:基数为10,10个记数符号,即0、1、2、3、4、…9。“逢十进一”,十进制在数字后加上字母D,也可以不加,例如543.8D 十六进制:基数为16,16个记数符号,即0~9 、A~F 其中A~F对应十进制的 10~15 。“逢十六进一”,十六进制在

qq_43644547的博客 7212

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

进制之间的转换计算

我们需要将每个位上的值乘以其对应的二进制位权重(即2的幂),然后将这些结果相加。要将八进制数c35转换成十进制,十六进制是以16为基数的计数系统。将十进制数3125转换为十六进制表示,我们需要使用除以16的方法。要将八进制数6065转换成十进制,八进制是以8为基数的计数系统。将十进制数3125转换为八进制表示,我们需要使用除以8的方法。在十六进制中,字母c代表十进制的12。以二进制数的110000110101 为例。因此,十进制数3125的十六进制表示为。以八进制的6065为例。以十六进制的C35为例。

秉烛夜游bzyy 1327

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

进制之间的相互转换

一、(二、八、十六)转换为十进制 n代表二、八、十六 (1100)n转换为10进制 0*n^0+0*n^1+1*n^2+1*n^3=12 二、十进制转换为(二、八、十六)进制 二进制转换为十进制 其他进制同理,将2换成进制数(八进制转换,将2变为8) 余数倒着写 100101 二进制转换为八进制 八进制转换为二进制 二进制转换为十六...

优快云 1万+

关于2,8,10,16进制之间的转换

关于2,8,10,16进制之间的转换

rhcjqmm666的博客 722

进制之间的关系和转换

1.十进制: (1)熟记2^0`~2^10的结果 2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 2^5=32 2^6=64 2^7=128 2^8=256 ...

kang1207的博客 2045
上一篇: bitset
下一篇: 数组与容器
p_m_notes
博客等级 码龄14年 3粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值