[杂谈]-八进制数

news2024/11/18 7:35:08

八进制数

文章目录

  • 八进制数
    • 1、概述
    • 2、八进制数的表示
      • 2.1 八进制数
      • 2.2 以八进制计数
      • 2.3 二进制数补零
    • 3、八进制到十进制转换
    • 4、十进制到八进制转换
    • 5、二进制到八进制转换示例
    • 6、八进制到二进制和十进制转换示例
    • 7、总结

1、概述

八进制编号系统是另一种使用基数为8计数系统,类似于前面讨论的具有以基数为16的十六进制计数系统。 与十六进制数类似,八进制计数系统减小了等效大二进制数的大小,并且使得对原始大二进制数的读取和写入变得方便。

计数系统的数字使用一个系列可以用来表达其值的数字。 此范围取决于计数系统的基值,即 以10为基数(十进制)、以16为基数(十六进制)或以8为基数(八进制)等。例如,以10为基数 和 以16为基数的计数系统具有范围分别为“10”和“16”数字。 类似地,以8为基数(八进制)计数系统的范围只有从“0”到“7”的“8”个数字,即 0、1、2、3、4、5、6 和 7。八进制数字只有 每个数字有八 (8) 个不同的值,并且从最低有效数字 (LSD) 开始,每个数字的权重为八 (8)。 为了以二进制容纳和表达“8”个数字,只需要三(3)位。 接下来,八进制值(0、1、2、3、4、5、6 和 7)分别对应于二进制等效值(000、001、010、011、100、101、110 和 111)。

在这里插入图片描述

八进制数是通过将二进制数分组为 3 位组而形成的。 它遵循之前在十六进制文章中采用的相同过程。 然而,在十六进制数中,二进制数被分成 4 位组(因为16为基数使用“0”到“15”范围并需要 4 位)。 与十六进制计数系统相比,八进制计数系统更简单,因为与使用数字加字母的十六进制相比,八进制计数系统仅使用数字。 此外,与十六进制的十六个“16”不同值相比,它只有八个“8”不同值。 在数字计算的早期时代,八进制计数系统非常著名,因为数字输入(D0 至 D7)和输出(Q0 至 Q7)的计数为八 (8)。 然而,随着数字输入和输出数量、系统架构和存储器大小等的增加,十六进制计数系统对于表示大的二进制值变得更加方便。

2、八进制数的表示

八进制编号系统使用以8为基数的计数系统,因此,八进制数由下标“8”表示。 例如, ( 142 ) 8 (142)_8 (142)8 被识别为八进制数,因为它的下标为“8”。 此外,值得注意的是,八进制数的每个数字的值都在 0 和 7 之间。例如,八进制数 ( 128 ) 8 (128)_8 (128)8是错误的,因为它的最低有效位 (LSD) 的值为“8”。 它不属于八进制计数范围,而是属于十进制或十六进制计数系统。 因此,可以通过检查数字的基值以及每个数字是否在其基数范围内来识别数字是否正确。

2.1 八进制数

下表列出了从 0 到 7 的十进制数及其对应的二进制和八进制数。

在这里插入图片描述

2.2 以八进制计数

八进制数的每个数字的权重为八 (8),从最低有效数字开始。 从最低有效数字到最高有效数字,每个数字的权重按 8 的幂增加。 给出了每个八进制数字(直至第 7 位)的十进制等效重量。

在这里插入图片描述

八进制数字的数字范围为“0 到”7”,对于超出此范围的计数,将在左侧添加另一个八进制数字。 添加第二个数字导致计数到 ( 77 ) 8 (77)_8 (77)8,十进制相当于 ( 63 ) 10 (63)_{10} (63)10。 因此,两个八进制数最多可以数到 63。同样,一个三位八进制数最多可以数到$ (777)_8$,这使得十进制的计数范围最多可达 ( 511 ) 10 (511)_{10} (511)10

2.3 二进制数补零

由于二进制数被分成 3 位组以确定其等效的八进制数。 这需要一个由三 (3) 的倍数位组成的二进制数,例如 3、6、9、12 和 15 等。但是,在处理二进制数时情况可能并非如此,并且二进制数的位长度可能会有所不同。 解决方案是从最低有效位 (LSB) 开始将二进制数分成 3 位组。 如果二进制数的位没有平均分配到 3 位组中,那么最后我们将剩下不到 3 位。 前导零被添加到剩余位中,以便将其长度扩展到 3 位。 最后一组 3 位构成八进制数的最高有效位 (MSD)。 下表将一个非标准的13位二进制数(1 0101 1101 101010)通过添加前导零转换为15位(可被3整除)二进制数,然后确定其等效的八进制数。

在这里插入图片描述

在上面的示例中,13 位数字需要将具有零值的 2 位添加到最左侧,才能使其成为 15 位二进制数。 同样,11 位二进制数需要添加一 (1) 个零位。 使用八进制数可将二进制数的长度减少三 (3) 倍。

3、八进制到十进制转换

八进制到十进制的转换是通过使用前面文章中介绍的加权数字和方法来实现的。 在以下示例中,八进制数 ( 4262 ) 8 (4262)_8 (4262)8 转换为十进制数。

在这里插入图片描述

4、十进制到八进制转换

从十进制到八进制的转换需要应用重复除以8的方法。 在前面的文章中,使用相同的方法将十进制数转换为其等效的二进制和十六进制值。 在以下示例中,十进制数 ( 238 ) 10 (238)_{10} (238)10再次用于获取其等效的八进制数。

在这里插入图片描述

5、二进制到八进制转换示例

8 位二进制数 ( 11011001 ) 2 (11011001)_2 (11011001)2 到八进制数的转换如下所示。

在这里插入图片描述

6、八进制到二进制和十进制转换示例

下面以 ( 6271 ) 8 (6271)_8 (6271)8 到其等效的二进制和十进制数的转换为例进行说明。

在这里插入图片描述

7、总结

  • 八进制数使用以 8 为基数的计数系统,每个数字的值范围为 0 到 7,即八 (8) 个数字。
  • 在八进制数中,每个数字都是一组或一组 3 位。 通过将二进制数分成 3 位组来获得八进制中的二进制数的等价物,并将从“0”到“7”的等效八进制值分配给每个组。
  • 二进制数可能需要在最左侧(最高有效位)添加前导零以形成 3 位组。
  • 八进制数用“8”作为下标表示,例如 73 5 8 735_8 7358
  • 八进制数可以使用加权数字和的方法转换为十进制数。
  • 从十进制到八进制的转换需要应用重复除以8的方法。
  • 八进制数将其等效二进制数的长度减少了三 (3) 倍。 然而,八进制数字现在很少使用,并且如前所述,十六进制编号系统已经取代了它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1032570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

医疗革命的关键推手,看AIGC弥合医疗差距的未来之路

随着科技的飞速进步,医疗水平在过去几十年里取得了巨大的突破。这些科技创新不仅改变了我们对健康和医疗的认知,也深刻地塑造了社会的现状。其中,人工智能作为医疗领域的一项前沿技术,正以前所未有的方式影响着我们的生活。它不仅…

CUDA和cuDNN的安装

参考资料:https://zhuanlan.zhihu.com/p/83971195 目录 CUDA和cuDNN介绍安装验证 CUDA和cuDNN介绍 CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够…

python-docx办公自动化批量生成离职证明

关注公众号:Python Lab 首先,在网络找到这样一份模板内容,可以根据这么模板进行排版 这是存放在Excel中的数据,根据数据遍历其中的内容,写入word当中 完整代码实现 from docx import Document import pandas as pd …

sqlmap tamper脚本编写

文章目录 tamper脚本是什么?指定tamper脚本运行sqlmap安全狗绕过tamper脚本 tamper脚本是什么? SQLMap 是一款SQL注入神器,可以通过tamper 对注入payload 进行编码和变形,以达到绕过某些限制的目的。但是有些时候,SQLM…

SLAM从入门到精通(参数处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在编写ros程序的过程中,很多时候需要不停修改程序的参数。比如说,我们有一个配置文件。在程序还没有运行之前,我…

实至名归!优维科技荣膺NIISA联盟2022年度双项技术创新奖

日前,国家互联网数据中心产业技术创新战略联盟(以下简称:NIISA联盟)2022年度技术创新奖评选结果公布!经过激烈角逐,优维科技脱颖而出,荣膺双项大奖! “EasyCore—CMDB超融合数据库”…

移植FreeRTOS的STM32F103双轮平衡小车(开源,代码文末)

耗时大概三四天吧,主要时间还是花在硬件方面上, ps:之前因为还想再完善一点,就一直放在草稿里,并不是今天才写的。面试官看到希望理解。。。 引言 1、系统概述 1.1、设计任务 利用stm32f103作为主控,移…

JavaSE List

目录 1 预备知识-泛型(Generic)1.1 泛型的引入1.2 泛型类的定义的简单演示 1.3 泛型背后作用时期和背后的简单原理1.4 泛型类的使用1.5 泛型总结 2 预备知识-包装类(Wrapper Class)2.1 基本数据类型和包装类直接的对应关系2.2 包装类的使用,装…

【C++面向对象侯捷下】2.转换函数 | 3.non-explicit-one-argument ctor

文章目录 operator double() const {} 歧义了 标准库的转换函数

美创科技参编《数字政府建设与发展研究报告(2023)》 正式发布

9月14日,中国信息通信研究院云计算与大数据研究所牵头编制的《数字政府建设与发展研究报告(2023)》正式发布。 美创科技结合在政务数据安全领域的丰富实践经验,参与报告编写。 《数字政府建设与发展研究报告》 以“技术、业务、数…

2023工博会强势回归!智微工业携八大系列重磅亮相

中国国际工业博览会(简称"中国工博会")自1999年创办以来,历经二十余年发展创新,通过专业化、市场化、国际化、品牌化运作,已发展成为通过国际展览业协会(UFI)认证、中国工业领域规模最…

flex布局与float布局

float布局 俩栏 三栏 flex布局

Leetcode199. 二叉树的右视图

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 题解:力扣(LeetCode&#xff09…

大型集团借力泛微搭建语言汇率时区统一、业务协同的国际化OA系统

国际化、全球化集团,业务遍布全世界,下属公司众多,集团对管理方式和企业文化塑造有着很高的要求。不少大型集团以数字化方式助力全球统一办公,深化企业统一管理。 面对大型集团全球化的管理诉求,数字化办公系统作为集…

虚拟机部署linux网络连接配置

1、虚拟机安装linux后,配置网络访问 虚拟机网络设置为NAT模式 linux网络配置好IP,主要是以下网络配置 2、linux没有ifconfig命令,ifconfig命令是在net-tools.x86_64包里 yum install net-tools.x86_64安装

207.Flink(二):架构及核心概念,flink从各种数据源读取数据,各种算子转化数据,将数据推送到各数据源

一、Flink架构及核心概念 1.系统架构 JobMaster是JobManager中最核心的组件,负责处理单独的作业(Job)。一个job对应一个jobManager 2.并行度 (1)并行度(Parallelism)概念 一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)。这样,包含并行子任…

八大排序(四)--------直接插入排序

本专栏内容为:八大排序汇总 通过本专栏的深入学习,你可以了解并掌握八大排序以及相关的排序算法。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:八大排序汇总 🚚代码仓库:小小unicorn的代码仓库…

蓝桥杯每日一题2023.9.22

4960. 子串简写 - AcWing题库 题目描述 题目分析 原本为纯暴力但是发现会超时,可以加入前缀和,从前往后先记录一下每个位置c1出现的次数 再从前往后扫一遍,如果遇到c2就将答案加上此位置前的所有c1的个数(直接加上此位置的前缀…

Mybatis学习笔记4 用javassist动态实现DAO接口基于接口的CRUD

Mybatis学习笔记3 在Web中应用Mybatis_biubiubiu0706的博客-CSDN博客 上篇最后在DAO实现类中,代码固定,没有业务逻辑,这篇笔记中对该实现类进行封装,就是说,以后不用写DAO实现类了 我们不难发现,这个dao实现类中的⽅法代码很固定,基本上就是⼀⾏代码&am…

【面试经典150 | 双指针】三数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一:暴力枚举方法二:双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对…