二进制、八进制、十进制与十六进制之间的转换(图片说明+举例介绍) 进制转换基础知识非十进制转为十进制二进制10110.01~2~ 转为十进制为: (22.25)~10~八进制(232.22)~8~ 转为十进制为(154.28125)~10~十六进制(232.6) ~16~转为十进制为(562.375)~10~十进制转为其他进制数十进制(225.625)~10~转为二进制为(11100001.101)~2~十进制(1000.5)~10~转为八进制为(1750.4)~8~十进制5621.5~10~转为十六进制为(15F5.8)~16~二进制转为八进制、十六进制数二进制1101001.101~2~转八进制为151.5~8~二进制101110011000111011.1~2~转十六进制为2E63B.8~16~八进制、十六进制转为二进制八进制162.4~8~转二进制为1110010.1~2~十六进制3B7D~16~转二进制为11101101111101~2~总结十进制二进制结尾基础知识数据 在计算机中各种信息都是以数据的形式出现的。数据经过处理后产生的结果为信息数据是计算机中信息的载体数据本身没有意义。单位位bit是计算机中最小的数据单位字节byte是计算机中信息组织和存储的基本单位也是计算机体系结构的基单位1byte8bit。存储单位B(字节、KB千字节、MB兆字节、GB吉字节或TB太字节。以上是常用的换算单位不常用的比TB更大的单位还有PB、EB、ZB、YB等。换算关系如下1 G 2 10 ( 各进制间换算单位 1024 M B 1G2^{10} (各进制间换算单位1024 MB1G210(各进制间换算单位1024MB1 YB 1024 ZB 1 ZB 1024 EB1 EB 1024 PB 1 PB 1024 TB1 TB 1024 GB 1 GB 1024 MB1 MB 1024 KB 1 KB 1024 Bbyte)1 G 2 10 M B 2 20 K B 2 30 B 1G2^{10 }MB2^{20}KB2^{30} B1G210MB220KB230B字长计算机一次能够并行处理的二进制代码的位数。字长是衡量计算机性能的一个重要指标字长越长数据包含的位数越多计算机的数据处理速度越快。计算机的字长通常是字节的整数倍如8位、16位、32位、64位和128位等。数制用一组固定的符号和统一的规则来表示数值的方法。其中按照进位方式计数的数制称为进位计数制。如二进制逢二进一十进制逢十进一以此类推。数码一个数制中表示基本数值大小的不同数字符号。十进制有10个数码0123456789基数一个数值所使用数码的个数。二进制的基数为2十进制为10。位权一个数值中某一位置上的数码所表示数值的大小。如一个十进制数3453的位权为10 2 10^{2}1024的位权为10 1 10^{1}101 5的位权为10 0 10^{0}100; 若是二进制数110,从右到左0的位权则是2 0 2^{0}201的位权是2 1 2^{1}211的位权是2 2 2^{2}22以此类推。数位指一个数中每一个数字所占的位置。如520.789,这个数5表示百位、2表示十位、0表示个位、7表示十分位、8表示百分位、9表示千分位。位数一个自然数数位的个数例如数字9它只含一个数位所以9就是一位数五位数12345则含有个、十、百、干与万5个数位。表示方式 在计算机中为了区分不同进制的数可以用括号加数制基数xi下标的方式来表示不同数制的数。例如,(492)10表示十进制数,(1001.1)2表示二进制数,(4A9E)16表示十六进制数也可以用带有字母的形式分别表示为(492)D、(1001.1)B和(4A9E)H。D表示十进制(Decimal)H表示十六进制(hexadecimal)B表示二进制(binary)O表示八进制(Octet)在程序设计中,为了区分不同进制数,常在数字后直接加英文学母后级来区别,如492D、1001.1B等。二进制用1、0共2位数表示八进制用0、1、2、3、4、5、6、7共8位数表示十进制用0、1、2、3、4、5、6、7、8、9共10位数表示十六进制用0、1、2、3、4、5、6、7、8、9、A10、B11、C12、D13、E14、F15共16位数表示非十进制转为十进制方法 乘各自正负位权相加法举例如下二进制10110.012转为十进制为: (22.25)10(10110.01)2这个二进制为5位数则从右到左 位权依次为2 − 2 2^{-2}2−2、2 − 1 2^{-1}2−1、2 0 2^{0}20、2 1 2^{1}21、2 2 2^{2}22、2 3 2^{3}23、2 4 2^{4}24则整数部分有0 ∗ 2 0 1 ∗ 2 1 1 ∗ 2 2 0 ∗ 2 3 1 ∗ 2 4 0*2^{0}1*2^{1}1*2^{2}0*2^{3}1*2^{4}0∗201∗211∗220∗231∗2402401622小数部分为0 ∗ 2 − 1 1 ∗ 2 − 2 0*2^{-1}1*2^{-2}0∗2−11∗2−20.25整数与小数相加为220.2522.25八进制(232.22)8转为十进制为(154.28125)10(232.22)O这个八进制为3位数则从右到左 位权依次为$8{-2}、$8{-1}、8 0 、 8 1 、 8 2 8^{0}、8^{1}、8^{2}80、81、82则整数部分有2 ∗ 8 0 3 ∗ 8 1 2 ∗ 8 2 2*8^{0}3*8^{1}2*8^{2}2∗803∗812∗82224128154小数部分为2 ∗ 8 − 1 2 ∗ 8 − 2 2*8^{-1}2*8^{-2}2∗8−12∗8−20.28125整数与小数相加为1540.28125154.28125十六进制(232.6)16转为十进制为(562.375)10(232)16这个十六进制为3位数则从右到左 位权依次为16 − 1 、 16 0 、 16 1 、 16 2 16^{-1}、16^{0}、16^{1}、16^{2}16−1、160、161、162则整数部分有2 ∗ 16 0 3 ∗ 16 1 2 ∗ 16 2 2*16^{0}3*16^{1}2*16^{2}2∗1603∗1612∗162248512562小数部分有6 ∗ 16 − 1 6*16^{-1}6∗16−10.375整数部分与小数部分相加5620.375562.375十进制转为其他进制数方法除x取余倒读法整数乘x取整正读法小数将整数和小数分别转换再拼接起来也就是十进制转哪个进制就除以哪个进制的位数即转2除以2转8除以8依次类推小数位乘以该进制位数即转8乘8乘后去整数为再以小数位继续乘直至小数位为0。十进制(225.625)10转为二进制为(11100001.101)2方法除2取余倒读法整数部分、乘2取整正读法小数部分。将该十进制数除以2直到商为0时为止再倒读余数1或0得到整数部分11100001将该十进制的小数乘以2取整数后再取所的整数的小数位反复乘2直到乘积的小数部分为0为止即得到小数部分101。如图所示整数部分小数部分注意这里小数位乘的时候第二次应该为0.25*20.5十进制(1000.5)10转为八进制为(1750.4)8方法除8取余倒读法整数部分、乘8取整正读法小数部分。将该十进制数除以8直到商为0时为止再倒读余数1或0得到整数部分1750将该十进制的小数部分乘以8取整数后再取所的整数的小数位反复乘8直到乘积的小数部分为0或位数达到所需的精确度要求为止即得到小数部分(0.4)如图所示整数部分为这里 小数部分为0.5 ∗ 8 4.0 0.5*84.00.5∗84.0取整数4小数位为0则结束。如果 小数部分为0.8的话就成死循环0.6314了0.8 ∗ 8 6.4 0.8*86.40.8∗86.4取整数6后再取小数位0.4乘0.4 ∗ 8 3.2 0.4*83.20.4∗83.2取整数3后再取小数位0.2乘0.2 ∗ 8 1.6 0.2*81.60.2∗81.6取整数1后再取小数位0.6乘0.6 ∗ 8 4.8 0.6*84.80.6∗84.8取整数4后再取小数位0.8乘0.8 ∗ 8 6.4 0.8*86.40.8∗86.4就又回到0.8了继续循环所以用0.5做个例子。十进制5621.510转为十六进制为(15F5.8)16方法除16取余倒读法整数部分、乘16取整正读法小数部分。将该十进制数除以16直到商为0时为止再倒读余数1或0得到整数部分15F5将该十进制的小数部分乘以16取整数反复乘16直到乘积的小数部分为0即得到小数部分。如图所示整数部分为小数部分为0.5 ∗ 16 8.0 0.5*168.00.5∗168.0取整数8小数位为0则结束。二进制转为八进制、十六进制数二进制1101001.1012转八进制为151.58方法3位分一组按2相加以小数点为界整数部分从右向左每3位为一组若最后一组不足3位,则在最高位前面添0补足3位然后将每组中的二进制数按2的权相加得到对应的八进制数小数部分从左向右每3位分为一组,最后一组不足3位时,尾部用0补足3位同上按2权相加然后按照顺序写出每组二进制数对应的八进制数即可。如图所示整数和小数部分为二进制101110011000111011.12转十六进制为2E63B.816方法4位分一组,按2相加以小数点为界整数部分从右向左每4位为一组若最后一组不足4位,则在最高位前面添0补足4位然后将每组中的二进制数按权相加得到对应的十六进制数小数部分从左向右每4位分为一组,最后一组不足4位时,尾部用0补足4位,同上按2权相加然后按照顺序写出每组二进制数对应的十六进制数即可。如图所示整数部分为小数部分为“1”补4位为“1000”按2相加为1*2^30008八进制、十六进制转为二进制八进制162.48转二进制为1110010.12方法各除2取余0补够3位从八进制数的低位开始,将每一位上的八进制数除以2得到对应的3位二进制数位数不够的补0小数部分也同上进行转换。如图所示整数与小数部分为十六进制3B7D16转二进制为111011011111012方法各除2取余0补够4位从十六进制数的低位开始将每一位上的十六进制数写成对应的4位二进制数位数不够的补0小数部分也同上进行转换。如图所示注意上图中的D为 13不是14一时笔误但是结果是正确的总结十进制非十进制 转为 十进制 乘各自正负位权相加法十进制 转为 非十进制 除x取余倒读法整数乘x取整正读法小数补充:16进制 转为10进制(或者8进制转10)可以先将16 -转为2进制 再将2-转为10进制 例:280000H 转为10进制1.16转2280000(16)转 001010000000 0000 0000(2)转2^172^15000已知:2^1010242^(10*7)1KB*2^7128KB2^(10*5)1KB*2^532KB 终得结果: 128KB32KB000160KB(10)二进制二进制 转为 八进制、十六进制数 3或4位分一组按2相加(理解为合成)八进制、十六进制 转为 二进制数各除2取余0补够3或4位(理解为分解)结尾文章会根据我的知识库, 不断进行优化, 并待续更新中…欢迎关注我「悟道子HACK笔记」获取更多 最新网络技术分享 实战靶场源码与解析 系统化学习路线指南 行业动态与职业发展建议以上就是今日博客的全部内容了创作不易,若对您有帮助,可否点赞、关注一二呢,感谢支持.