进制转换算法原理(二进制 八进制 十进制 十六进制)

 更新时间:2010年05月26日 20:42:19   作者:  
进制转换算法原理(二进制 八进制 十进制 十六进制),以前上学那会确实学过,长时间不用都忘了。
1、二进制数、八进制数、十六进制数转十进制数
有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例:
110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D
110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D
110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D
2、十进制数转二进制数、八进制数、十六进制数
方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
例:见四级指导16页。
3、二进制数转换成其它数据类型
3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,
就是一个相应八进制数的表示。
010110.001100B=26.14Q
八进制转二进制反之则可。
3-2二进制转十进制:见1
3-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,
不足四位的用0补足,就是一个相应十六进制数的表示。
00100110.00010100B=26.14H
十进制转各进制
要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。
一、十进制转二进制
如:55转为二进制
2|55
27――1 个位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最后被除数1为第七位,即得110111
二、十进制转八进制
如:5621转为八进制
8|5621
702 ―― 5 第一位(个位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最后得八进制数:127658
三、十进制数十六进制
如:76521转为十六进制
16|76521
4726 ――5 第一位(个位)
295 ――6 第二位
18 ――6 第三位
1 ―― 2 第四位
最后得1276516
二进制与十六进制的关系
2进制 0000 0001 0010 0011 0100 0101 0110 0111
16进制 0 1 2 3 4 5 6 7
2进制 1000 1001 1010 1011 1100 1101 1110 1111
16进制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制与八进制间的关系
二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7
二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。

相关文章

  • 详解idea切换git账号的两个方法

    详解idea切换git账号的两个方法

    这篇文章主要介绍了详解idea切换git账号的两个方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 15个开发者必须知道的chrome技巧

    15个开发者必须知道的chrome技巧

    这篇文章主要介绍了15个开发者必须知道的chrome技巧,需要的朋友可以参考下
    2017-09-09
  • Elasticsearch 在地理信息空间索引的探索和演进问题分析

    Elasticsearch 在地理信息空间索引的探索和演进问题分析

    本文梳理了Elasticsearch对于数值索引实现方案的升级和优化思考,从2015年至今数值索引的方案经历了多个版本的迭代,实现思路从最初的字符串模拟到KD-Tree,技术越来越复杂,能力越来越强大,应用场景也越来越丰富,感兴趣的朋友跟随小编一起看看吧
    2022-06-06
  • Idea中使用git查看历史版本的方法

    Idea中使用git查看历史版本的方法

    在IDEA中搜索并安装Git插件,我们可以轻松地将Git集成到IDEA中,本文主要介绍了Idea中使用git查看历史版本的方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 油猴脚本编写教程详解

    油猴脚本编写教程详解

    油猴脚本(Tampermonkey)是一个非常流行的浏览器扩展,它可以运行由广大社区编写的扩展脚本,来实现各式各样的功能,常见的去广告、修改样式文件、甚至是下载视频,今天给大家介绍油猴脚本编写教程,感兴趣的朋友一起看看吧
    2020-02-02
  • flash 挡住层的解决方法

    flash 挡住层的解决方法

    使用层制作的下拉菜单下正好有FLASH动画,菜单被动画遮挡.
    2009-08-08
  • 软件测试实现Finddler的手机抓包过程

    软件测试实现Finddler的手机抓包过程

    本文主要简单的描述了Finddler的手机抓包过程,使用图文模式详细的描述了操作过程,非常的通俗易懂,可以快速上手跟着本章的描述就可以轻松实现
    2021-08-08
  • select下拉菜单实现二级联动效果

    select下拉菜单实现二级联动效果

    这篇文章主要介绍了select下拉菜单实现二级联动效果,在一些项目开发中经常会遇到这样的需求,今天小编通过实例代码给大家讲解,需要的朋友可以参考下
    2019-10-10
  • git push 本地项目推送到远程分支的方法(git命令版)

    git push 本地项目推送到远程分支的方法(git命令版)

    这篇文章主要介绍了git push 本地项目推送到远程分支的方法(git命令版),需要的朋友可以参考下
    2020-09-09
  • 极验验证码 安装部署详细介绍

    极验验证码 安装部署详细介绍

    这篇文章主要介绍了极验验证码 安装部署的相关资料,需要的朋友可以参考下
    2016-09-09

最新评论