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

 更新时间: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,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。

相关文章

  • web服务器程序运行出现乱码问题的解决方法

    web服务器程序运行出现乱码问题的解决方法

    有时候程序运行是,出现乱码,不是因为数据库的问题,是因为没有定义编码的问题,大家可以看下养成良好的编码习惯。
    2009-12-12
  • 大前端时代搞定PC/Mac端开发,我有绝招(收藏版)

    大前端时代搞定PC/Mac端开发,我有绝招(收藏版)

    这篇文章主要介绍了大前端时代搞定PC/Mac端开发,我有绝招,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 编程之显示/隐式声明

    编程之显示/隐式声明

    显示声明 是程序中的一条说明语句,它列出一批变量名并指明这些变量的类型。隐式声明 指通过某种默认协定的方法将变量名与类型绑定。
    2011-01-01
  • vscode入门教程之页面启动与代码调试

    vscode入门教程之页面启动与代码调试

    VScode是微软推出的一款轻量级的编辑器,采用了和VS相同的UI界面。今天小编给大家带来一篇如何使用vscode来进行最基本的工作的小教程,希望大家能够喜欢
    2020-01-01
  • 解决使用commit提交大文件无法推送到远程库问题及git rebase使用详解

    解决使用commit提交大文件无法推送到远程库问题及git rebase使用

    这篇文章主要介绍了解决使用commit提交大文件无法推送到远程库问题及git rebase使用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Git pull(拉取)及push(上传)相关命令介绍

    Git pull(拉取)及push(上传)相关命令介绍

    这篇文章主要介绍了Git pull(拉取),push(上传)相关命令,git是一个非常好用的分布式版本管理工具,Git是去中心化,每一个分支都是一个中心,并且支持本地仓库存储,像如今很多大公司都用git做版本控制。有兴趣的话来学习一下
    2020-07-07
  • Idea 2019.3 本应该搜索到的插件却搜索不到的解决方法

    Idea 2019.3 本应该搜索到的插件却搜索不到的解决方法

    这篇文章主要介绍了Idea 2019.3 本应该搜索到的插件却搜索不到,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Git标签管理

    Git标签管理

    本篇文章主要介绍了Git标签管理的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Vscode 基础使用教程大全

    Vscode 基础使用教程大全

    本文给大家汇总介绍了一些vscode开始使用的过程中需要用到的基础的操作教程,非常简单实用,希望对大家熟练掌握vscode能够有所帮助
    2020-01-01
  • Git在Windows中安装与使用教程

    Git在Windows中安装与使用教程

    这篇文章主要介绍了Git在Windows中安装与使用教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论