十进制、八进制和十六进制,各种进制存在的意义,为什么要设计出来?

您所在的位置:网站首页 十六进制转换为四进制 十进制、八进制和十六进制,各种进制存在的意义,为什么要设计出来?

十进制、八进制和十六进制,各种进制存在的意义,为什么要设计出来?

2024-07-04 16:31:20| 来源: 网络整理| 查看: 265

目录

一、表示方法

1、八 进制

定义:

编程中如何表达:

2、十六 进制

定义:

编程中如何表达:

二、各种进制存在的意义:

1、二进制的意义:

优势:

缺陷:

2、十进制的意义:

缺陷 - 容易出现计算问题

缺陷 - 有了 十进制,为什么要给计算机开发出 八进制、十六进制呢?

3、八进制的意义:

为什么偏偏是16或8进制,而不其它的,诸如 9 或 20 进制呢?

优势:

应用:

4、十六进制的意义:

概述:

重要应用 - 内存:

总结:

一、表示方法 1、八 进制 定义:

一种以8为基数的计数法,采用 0,1,2,3,4,5,6,7八个数字,逢八进1。

编程中如何表达:

所以规定,一个数如果要指明它采用八进制,必须在它前面加上一个 0(零),如:123 是十进制,但 0123 则表示采用八进制。这就是八进制数的表达方法。

2、十六 进制 定义:

它由 0-9,A-F 组成,字母不区分大小写。与 10 进制的对应关系是: 0-9 对应0-9; A-F 对应 10-15。 N进制的数可以用 0~(N-1) 的数表示,超过 9 的用字母 A-F。

编程中如何表达:

如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。

16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。

另外如:0xff, 0xFF, 0X102A, 等等。其中的 x 也不区分大小写。(注意:0x中的 0 是数字 0,而不是字母O)

 

二、各种进制存在的意义: 1、二进制的意义:

数据在计算机中的表示,最终以二进制的形式存在

优势:

这主要的原因由计算机的硬件有关,组成计算机系统的的逻辑电路只有两种状态,(接通和断开),只有两种发生的可能。

当我们的计算机受到干扰的时候,任然能清楚的识别出逻辑电路的状态(接通和断开)。

所以在具体的系统实现中,二进制的数据表达具有抗干扰能力强的优点。

相比之下,十进制设计的状态电路就有十种状态的电路,具体的系统实现会变得非常的负责,在判断中出现错误的可能性几率会大大增大。

缺陷:

书写起来冗长,与人类交互时表达不方便(准确的说应该是人类容易记录错误)

比如 int 类型占用4个字节,32 位。比如 100,用 int 类型的二进制数表达将是:   

0000 0000 0000 0000 0110 0100   

面对这么长的数进行思考或操作,没有人会喜欢。

因此,C,C++ 没有提供在代码直接写二进制数的方法。

所以,推行了 16 进制和 8 进制。因为,进制越大,数的表达长度也就越短。

 

2、十进制的意义:

高级语言的称谓,其中之一就是能更好读懂。所以在使用高级语言,进行编程中,我们常用的还是 10 进制。毕竟是高级语言。   

比如:int a = 100,b = 99;

缺陷 - 容易出现计算问题

数 除尽 除不尽 的应用意义很大,除尽率 高的 数系 优势无疑更高,数论 研究表明,除尽 除不尽 与 除数 及 进制数 有关。

目前的十进制数中,除数能写成 2^p×5^q 的,都能够被所有十进制 整数 及 有限小数 除尽。

进制数越高除尽率越高也不是必然的,也有特殊性,譬如在民用常用的100以内的数中,六进制数的除尽率反而更高,所有能写成2^p×3^q的六进制数,都能够被所有六进制整数及有限小数除尽。

也就是说民用数其实 六进制数更有优势。

缺陷 - 有了 十进制,为什么要给计算机开发出 八进制、十六进制呢?

因为计算机底层使用的是二进制,而二进制转化为十进制较麻烦,不够直观。

但二进制转化为 八进制 或 十六进制 十分方便,3 位二进制可转化为 1 位八进制,4 位二进制可转化为 1 位十六进制。

 

3、八进制的意义: 为什么偏偏是16或8进制,而不其它的,诸如 9 或 20 进制呢?

2、8、16,分别是 2 的 1 次方,3 次方,4 次方。这一点使得三种进制之间可以非常直接地互相转换。

8 进制或 16 进制缩短了二进制数,但保持了二进制数的表达特点。

优势:

八进制的两个优点:

容易从字符 parse(使用 ASCII 时直接 char 减掉 0x30 就是其单一位数值),容易转字符串(单一位数值加 0x30 就是对应的字符的 ASCII 值)

容易从字符串 parse(直接移位再加就行…)

例如,你遇到一个八进制的数,要将其转化成比如说 int 类型的,不断读取字符,减 0x30,加上已有的结果左移 3 位的结果就行了,粗体字这里比使用十进制时的结果快…

二进制数据量太大,十进制计算太麻烦,十六进制解析太麻烦,八进制在这里正好。

应用:

Linux 文件权限(例如 chmod 644 中的这个数字)(当然这个跟文件权限的构造有关,跟上面说的 parse 没太大关系)

某些文件结构中的数据存储方式(例如 tar 打包时记录文件的大小和时间就是用八进制记录的)

 

4、十六进制的意义: 概述:

1、用于计算机领域的一种重要的数制   

2、对计算机理论的描述,计算机硬件电路的设计都是很有益的。比如逻辑电路设计中,既要考虑功能的完备,还要考虑用尽可能少的硬件,十六进制就能起到一些理论分析的作用。比如四位二进制电路,最多就是十六种状态,也就是一种十六进制形式,只有这十六种状态都被用上了或者尽可能多的被用上,硬件资源才发挥了尽可能大的作用。   

3、十六进制更简短,因为换算的时候一位16进制数可以顶 4 位 二进制数。

 

重要应用 - 内存:

一个内存地址存着一个对应的值, 内存就相当于(addr,val)的大 hash 表,c 语句的语义基本就是改变 hash 值。

如 int i = 3;  假设 i 的内存地址为 0x8049320 ,那么这句话的语义是 0x8049320 = 3,经过 i = 3 后,i  为 (0x8049320,3)

int b = i; 假设 b 的内存地址为 0x8049324 ,那么这句话的语义是 0x8049324 = i 对应的 val = 3,此时 b 为 (0x8049324,3)

 

总结:

十进制 主要运用于日常生活当中,而 二进制、八进制、十六进制 主要运用于电子技术行业。

二进制 是数字电路、处理器等最直接的语言,八进制、十六进制 由于有着方便转化记录的意义而使用

如今更多的是 十六进制 进行存储记忆,八进制 较少使用

处理器里的寄存器、存储器的地址、数据都是使用 十六进制 进行表示。

 

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭