单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1496|回复: 0
打印 上一主题 下一主题
收起左侧

八进制详解及转换方法

[复制链接]
跳转到指定楼层
楼主
51黑bing 发表于 2016-3-20 22:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

八进制

  Octal ,缩写OCT或O,一种计数法,采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头。八进制的数较二进制的数书写方便,常应用在电子计算机的计算中。
  八进制(基数为8)表示法在早期的计算机系统中很常见,因此,偶尔我们还能看到人们使用八进制表示法。八进制适用于12位和36位计算机系统(或者其他位数为3的倍数的计算机系统)。但是,对于位数为二的幂(8位,16位,32位与64位计算机系统)的计算机系统来说,八进制就不算很好了。因此,在过去几十年里,八进制渐渐地淡出了。不过,还是有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
  八进制逢八进一,基数为八,基本符号:0、1、2、3、4、5、6、7。位权8∧i。表示符号:O

八进制的转换

  二进制与八进制的互相转换和二进制与十六进制的转换类似,区别在于需要操作的是三位一组而不是四位

表2-2列出了二进制与八进制的等效表示。

  为了把八进制数换算为二进制,将每一个八进制数字替换成表2-2中对应的三位。

  

表2-2 二进制/八进制换算表

  
二进制 八进制
%000 0
%001 1
%010 2
%011 3
%100 4
%101 5
%110 6
%111 7
 为了将一个二进制数换算为八进制,只需将二进制串划分成每三个位一组(如果需要的话,在前面补零),然后查表2-2,将三位一组的位串替换为相应的八进制数字即可
   八进制化为十进制
  例:将八进制数12.6转换成十进制数
  (12.6)8 = 1×8 + 2×8 + 6×8 = (10.75)10
  八进制化为二进制
  规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。
  例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2
  八进制化为十六进制
  先将八进制化为二进制,再将二进制化为十六进制。
  例:(712)8 = (111001010)2 = (1CA)16
  转换为八进制
  二进制化为八进制
  整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
  小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。
  例:(11001111.01111)2 = (11 001 111.011 110)2 = (317.36)8
  十六进制化为八进制
  先用1化4方法,将十六进制化为二进制;再用3并1方法,将二进制化为8制。
  例: (1CA)16 = (000111001010)2 = (712)8
  说明:小数点前的高位零和小数点后的低位零可以去除
  十进制化八进制
  方法1:采用除8取余法。
  例:将十进制数115转化为八进制数
  8| 115…… 3
  8| 14 …… 6
  8| 1 …… 1
  结果:(115)10 = (163)8
  方法2:先采用十进制化二进制的方法,再将二进制数化为八进制数
  例:(115)10 = (1110011)2 = (163)8
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 转播转播 分享分享 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表