首页
学习
活动
专区
工具
TVP
发布

数制

作者头像
恋喵大鲤鱼
发布2018-08-03 10:45:56
8080
发布2018-08-03 10:45:56
举报
文章被收录于专栏:C/C++基础C/C++基础C/C++基础

数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。任何一个数制都包含如下基本概念:数码、基数、数位、位数、位权和计数单位。不同数制间可以进行进制转换。计算机中最常见的数制有二进制数制、八进制数值和十六进制数制,生活中最熟悉的则是十进制数制,当然,十进制数制在编写代码时,常用于表示数值大小。

以十进制数制为例,介绍数制的相关基本概念。

数码指数制中用于表示基本数值大小的不同数字符号。十进制有10个数码,分别为0,1,2,3,4,5,6,7,8,9。 基数指数制所使用数码的个数。十进制的基数为10。

数位指一个数中数码所占的位置。例如十进制整数520,从右至左,0的数位是个位、2的数位是十位,5的数位是百位。 位数指的是数中数位的个数。例如十进制整数520有三个数位,所以位数为3。

位权指的是数制中某一数位上的1所表示数值的大小(所处位置的权值)。例如,十进制整数520,从右至左,0的位权是1,2的位权是10,5的位权是100。

计数单位指的是数值中对位权的称谓。对于十进制整数520,从右至左,0的位权是1,计数单位是个,2的位权是10,计数单位是十,5的位权是100,计数单位是百,后面还有千、万、十万、百万、千万、亿、十亿、百亿、千亿……,这些都是计数单位。有了计数单位,我们就可以将520读作“五百二十”。计数单位与位权的区别在于,位权是对计算单位的量化,计数单位是对位权的表述。

生活中除了常用的十进制数制,也使用形形色色的进制。在新中国成立之前,重量单位一直采用的是半斤等于八两的换算,以前从两到斤,采用的是16进制,16两为1斤,那时候半斤和八两是同一个意思,所以有“半斤八两”这一成语。新中国成立之后,为与国际接轨又考虑使用习惯,将一斤改为10两,一公斤定位1KG。时间上,使用的60进制,每60秒为一分钟,每60分钟为1小时。从小时到天则使用24进制,每24小时为1天。从天到星期,采用的是7进制,7天为1星期,从月到年,采用的是12进制,12个月为1年,等等。

对于计算机而言,则使用二进制对数据进行表示,而不是人类使用的10进制。其理由主要有以下四点: (1)电路简单。实现二进制存储和运算的逻辑电路比较简单,容易使用开关电路(或逻辑电路)来实现。 (2)可靠性高。2进制只有0和1两个数码,数据的传送和处理都不容易出错。用电路实现2进制运算时,电路可靠,抗干扰能力强。 (3)运算简单。2进制的运算规则简单,不论加法规则还是乘法规则,都比较简单,从而简化实现运算规则的电路逻辑,提高运算速度。相对而言,10进制的运算规则要复杂很多,例如九九乘法表就是10进制的乘法规则。 (4)逻辑性强。逻辑代数中的值只有“真”和“假”,使用2进制十分容易表示逻辑值并实现逻辑运算。

在书写代码时,C++中不同进制的数值表示方法如下:

数制

书写方式

示例

二进制

C++14开始支持直接书写二进制数,数值前加0b或0B

uint8_t a=0b00010001;uint8_t a=0B00010001;

八进制

数值前加零

uint8_t a=021;

十进制

直接书写

uint8_t a=17;

十六进制

数值前加0x或0X

uint8_t a=0x11;uint8_t a=0X11;

参考文献

[1]数制.百度百科 [2]数位.百度百科 [3]数制与编码 [4]C++14.百度百科

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考文献
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档