二进制、八进制、十进制、十六进制之间转换
(一)、进制之间的转换
- 八进制:0-7
- 十六进制:0-F
1、十进制 与 二进制之间的转换
- (1)、十进制转换为二进制,分为整数部分和小数部分
- 整数部分
方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数。
这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例: 示例
例:将十进制的168转换为二进制 得出结果 将十进制的168转换为二进制,(10101000)2 168 / 2 = 84 -- 084 / 2 = 42 -- 042 / 2 = 21 -- 021 / 2 = 10 -- 110 / 2 = 5 -- 05 / 2 = 2 -- 12 / 2 = 1 -- 01 / 2 = 0 -- 1二进制(从后往前读): 10101000
小数部分
方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25; 第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5; 第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0; 第四步,读数,从第一位读起,读到最后一位,即为0.001。取整数位0.125 * 2 = 0.25 -- 00.25 * 2 = 0.5 -- 00.5 * 2 = 1.0 -- 1二进制:0.001例2:将0.45转换为二进制(保留到小数点第四位) 0.45 保留小数点4第四位0.45 * 2 = 0.9 -- 00.9 * 2 = 1.8 -- 10.8 * 2 = 1.6 -- 10.6 * 2 = 1.2 -- 1二进制(从前往后读):0.0111
- 整数部分
(2)、二进制转换为十进制 (不分整数和小数部分)
方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。
例:将二进制数101.101转换为十进制数。 得出结果:(101.101)2=(5.625)10 大家在做二进制转换成十进制需要注意的是 1)要知道二进制每位的权值2)要能求出每位的值101.101 转换为十进制整数部分:2^2 + 2^0 = 5小数部分:2^(-1) + 2^(-3) = 1/2 + 1/8 = 0.5 + 0.125 = 0.625十进制: 2^2 + 2^0 + 2^(-1) + 2^(-3) = 5.625
2、二进制与八进制之间的转换
- 首先,我们需要了解一个数学关系,即2^3=8,2^4=16,而八进制和十六进制是用这关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。
接着,记住4个数字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1)。现在我们来练习二进制与八进制之间的转换。
(1)、 二进制转换为八进制
- 方法:取三合一法,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。
如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。
①将二进制数101110.101转换为八进制 101 110.101整数部分:2^2 + 2^0 = 52^2 + 2^1 = 6小数部分:2^2 + 2^0 = 5八进制: 56.5② 将二进制数1101.1转换为八进制 1101.1 不够位数,整数补高位;小数补低位=> 001 101.100整数部分:2^0 = 12^2 + 2^0 = 5小数部分:2^2 = 4八进制:15.4
(2)、八进制转换为二进制
方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。
① 将八进制数67.54转换为二进制 67.54 采用一分三方法=> 6 7.5 4二进制:110 111.101 100
3、二进制与十六进制的转换
- (1)、二进制转换为十六进制
方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解
例1:11101001.1011 采用四合一 => 1110 1001.10118+4+2 => 14 => E8+1 => 9 => 98+2+1 = B十六进制:E9.B例2:101011.101 最高(最低位补0方法)=> 0010 1011.10102^1 = 22^3 + 2^1 + 2^0 = 8+2+1 = B2^3 + 2^1 = 8+2 = 10 = A十六进制:2B.A
- (2)、十六进制转换为二进制
方法:取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。
①将十六进制6E.2转换为二进制数 6E.2 采用一分四 => 0110 1110.0010 二进制:1101110.001
4、八进制与十六进制的转换
- 方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转
5、八进制与十进制的转换
- (1)、八进制转换为十进制
方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。
①将八进制数67.35转换为十进制 67.35 整数部分:556x8^1 = 487x8^0 = 7小数部分:0.4531253x8^(-1) = 0.3755x8^(-2) = 0.078125 十进制:55.078125
(2)、十进制与八进制转换
- 十进制转换成八进制有两种方法:
- 1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制
- 2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:
- ①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。 ②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。例:将十进制数796.703125转换为八进制数 解:先将这个数字分为整数部分796和小数部分0.703125整数部分整数部分(从后往前读):796/8 = 99 -- 499/8 = 12 -- 312/8 = 1 -- 41/8 = 0 -- 1小数部分(从前往后读)0.703125 x 8= 5.625 -- 50.625 x 8 = 5.0 -- 5十进制:1434.55
- ①整数部分
- 十进制转换成八进制有两种方法:
6、十六进制与十进制的转换
- 十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换
转载于:https://www.cnblogs.com/MPPC/p/5924756.html
二进制、八进制、十进制、十六进制之间转换相关推荐
- 二进制 八进制 十进制 十六进制 之间进制转换(图解篇)
一.本文所涉及的内容(Contents) 目录 一.本文所涉及的内容(Contents) 二.背景(Contexts) 三.进制转换算法(Convert) ( ...
- python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制
全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...
- 二进制 八进制 十进制 十六进制
2->8:从个位开始把二进制数三个一组分组,然后每组分别换成8进制, 例:11,101,100 就是分组后的结果 11->3 101->5 100->4 所以结果是354 8- ...
- 【笔记】二进制八进制十进制十六进制互转详细教程和范例
最近复习之前的笔记基础.又把进制转换理解了一遍.放在这里以后备查.同时作为分享. 二进制转换八进制十进制十六进制 例: 11010 二进制转换八进制 需要2进制数字为每3位分组的十进制数,不足3位的倍 ...
- 二进制与八进制十进制十六进制之间的转换
目录 1. 计算机中数据存储的分类 2. 数值型数据的存储 2.1 十进制 2.2 二进制 2.3 八进制 2.4 ...
- 二进制转换八进制图解_二进制、八进制和十六进制之间转换详解
我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1.9.10.297.952 等,一个数字最多能表示九,如果要表示十.十一.二十九.一百等,就需要多个数字组合起来. 例如表示 5+8 的结果 ...
- 二进制八进制十进制十六进制及原码反码补码
1.进制的介绍 定义:进位制,人们规定的一种进位方式:表示某一位置上的数,运算时是逢X进一位. 十进制是逢十进一:二进制是逢二进一,八进制是逢八进一: 常见进制:二进制,八进制,十进制,十六进制: 学 ...
- 计算机系统中常用的进制,计算机中常用 二进制 八进制 十进制 十六进制的特点...
计算机中常用的计数制 用若干数位(由数码表示)的组合去表示一个数,各个数位之间是什么关系,即逢"几"进位,这就是进 位计数制的问题.也就是数制问题.数制,即进位计数制,是人们利用数 ...
- 二进制 八进制 十进制 十六进制的相互转换(精简总结)
之前看到的都是铺垫这术语那术语的,看了半天,还不知道怎么处理.这里就根据各种文章和自己的理解总结一小下下, 不一定准确,省略一些概念等繁琐的陈述,直接上结论 1.二进制转八进制:以小数点为分界线,各 ...
- Java 二进制,八进制,十进制,十六进制
学而时习之,温故而知新 二进制特征: 1 : 有2个数字组合,"0" 和"1" 2 : 运算时逢2进1 例如 101010 八进制的特点: 1: 有 8个数组组 ...
最新文章
- Solaris底下配置samba
- AI入门:Transfer Learning(迁移学习)
- python -asyncio
- 读空气java_空气质量指数查询示例代码
- centos7 和centos 6的一些区别
- drools6.5_使用Drools 6.0进行部署
- 采用curl库在PHP程序之间传递数组
- hadoop集群之HDFS和YARN启动和停止命令
- Scanner的注意细节
- 用C语言来统计文件中单词的个数(C语言笔记)
- “质量总监成长记”读后感
- Duilib介绍-3
- 网络分析仪自动化测试软件,高效矢量网络分析仪自动测试方法
- win10无法打开超链接,组织策略阻止
- BZOJ 5336: [TJOI2018]party Dp套Dp
- python匹配邮箱_在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类...
- 微信小程序开发开篇词 自顶向下,云端赋能:小程序的高效开发之道
- webpack(7)_CSS_使用style-loader和css-loader
- 官宣|深圳新增6条新建地铁线路和100个站点
- 电信光猫路由模式转桥接
热门文章
- 2017江苏省计算机一级考试试题,2017年计算机一级考试MsOffice试题及答案
- 汇编语言 --- 32位x86处理器架构
- Docker安装Gogs搭建git服务器
- 抖音xlog算法 hook分析记录 抖音xlog风控算法 抖音xlog参数分析
- android 4.2.2提示 unauthorized终极解决办法,很粗暴
- 安裝 Rails 開發環境
- BMC固件漏洞导致OT和IoT设备易受远程攻击
- 分享工作中让你有强烈情绪波动的事情
- (附源码)计算机毕业设计ssm共享自习室管理系统
- DevExpress Universal 21更新啦