首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【CSP J/S第一轮知识】计算机中的进制

二进制

二进制是一种数值表示系统,使用两个数码0和1表示数,现代的二进制记数系统是由戈特弗里德·莱布尼茨于

年设计的。在计算机科学中,二进制是基本的数据表示形式,因为计算机系统中使用电路来表示和处理信息,而这些电路可以处于两种状态,即开或关,与二进制相对应。

运算规则可以类比十进制,十进制是逢十进一;二进制是逢二进一。

二进制的一些基本概念

1. 位(Bit):二进制的最小单位,一个位可以是一个0或1。

2. 字节(Byte):通常由

个二进制位组成,可用于表示一个字符或较小的整数。

例如:二进制数1000100010001000共有

个二进制位,

个字节。

二进制的四则运算

• 加法:

,逢二进一。

• 减法:

,向高位借一当二。

• 乘法:

• 除法:

例如:二进制数1010和11相加,结果为1101。

二进制与十进制相互转换

虽然两种进制不同,但本质都是用来表示数值,所以我们通过一定的规则将两种进制进行转换。为表示方便,下文我们用

来表示二进制数,用

来表示十进制数。

二进制转十进制

我们定义一个概念叫位权,就是每一位上的权值,拿

举例说明:

百位的权值为

,十位的权值为

,个位的权值为

,小数点后一位权值为

,小数点后两位的权值为

一个显而易见的结果,

实际上是由

得到的,那么一个二进制数

来说,它每一位的位权如下图:

所以,

对应的十进制数为:

总结一下,二进制转为十进制,只需将二进制每一位上的数字乘以该位的位权而后相加即可。

十进制转二进制

分为整数部分和小数部分。

整数部分,不断把十进制数整数部分除以

直至商为

,余数从下往上读,就是相应二进制整数部分数字。

小数部分,不断把十进制小数部分乘以

,每次取其整数部分的结果,直至算到小数部分全为

为止,从上到下读取所有整数部分的数字。

例如,

转换成二进制,具体计算如下:

1. 整数部分

1. 小数部分

所以,

八进制与十六进制

计算机虽然采用二进制,但二进制书写起来冗长,并不方便人类记忆,所以在计算机中还推行了

进制和

进制,进制越大,数的表示长度也就越短。

八进制

为基数的计数方法,采用

八个数码,逢八进一。

在 C++ 中,一个数如果要指明它采用八进制,必须在它前面加上一个

,如:

是十进制,但

则表示采用八进制。

十六进制

为基数的计数方式,有

个数码,与

进制的对应关系是,

对应

对应

在 C++ 中,一个数如果要指明采用十六进制,要以0x开头,是数字0而不是字母o,如,

表示一个

进制数,而

则表示一个十进制数。

二进制、八进制、十六进制互相转换

分别是

,这一点使得三种进制间可以直接互相转换。

二进制与八进制互转:

个二进制位一组,进行转换,不足位补

,如:

二进制与十六进制互转:

个二进制位一组,进行转换,不足位补

,如:

总结

本文主要介绍了计算机中的二进制、八进制、十六进制,以及它们间的互相转换,如果有问题,欢迎留言探讨。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OpTwOCFPY7DpzD3GYH79J7qA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券