二进制
二进制是一种数值表示系统,使用两个数码0和1表示数,现代的二进制记数系统是由戈特弗里德·莱布尼茨于
年设计的。在计算机科学中,二进制是基本的数据表示形式,因为计算机系统中使用电路来表示和处理信息,而这些电路可以处于两种状态,即开或关,与二进制相对应。
运算规则可以类比十进制,十进制是逢十进一;二进制是逢二进一。
二进制的一些基本概念
1. 位(Bit):二进制的最小单位,一个位可以是一个0或1。
2. 字节(Byte):通常由
个二进制位组成,可用于表示一个字符或较小的整数。
例如:二进制数1000100010001000共有
个二进制位,
个字节。
二进制的四则运算
• 加法:
,逢二进一。
• 减法:
,向高位借一当二。
• 乘法:
。
• 除法:
。
例如:二进制数1010和11相加,结果为1101。
二进制与十进制相互转换
虽然两种进制不同,但本质都是用来表示数值,所以我们通过一定的规则将两种进制进行转换。为表示方便,下文我们用
来表示二进制数,用
来表示十进制数。
二进制转十进制
我们定义一个概念叫位权,就是每一位上的权值,拿
举例说明:
百位的权值为
,十位的权值为
,个位的权值为
,小数点后一位权值为
,小数点后两位的权值为
。
一个显而易见的结果,
实际上是由
得到的,那么一个二进制数
来说,它每一位的位权如下图:
所以,
对应的十进制数为:
总结一下,二进制转为十进制,只需将二进制每一位上的数字乘以该位的位权而后相加即可。
十进制转二进制
分为整数部分和小数部分。
整数部分,不断把十进制数整数部分除以
直至商为
,余数从下往上读,就是相应二进制整数部分数字。
小数部分,不断把十进制小数部分乘以
,每次取其整数部分的结果,直至算到小数部分全为
为止,从上到下读取所有整数部分的数字。
例如,
转换成二进制,具体计算如下:
1. 整数部分
1. 小数部分
所以,
八进制与十六进制
计算机虽然采用二进制,但二进制书写起来冗长,并不方便人类记忆,所以在计算机中还推行了
进制和
进制,进制越大,数的表示长度也就越短。
八进制
以
为基数的计数方法,采用
八个数码,逢八进一。
在 C++ 中,一个数如果要指明它采用八进制,必须在它前面加上一个
,如:
是十进制,但
则表示采用八进制。
十六进制
以
为基数的计数方式,有
共
个数码,与
进制的对应关系是,
对应
;
对应
。
在 C++ 中,一个数如果要指明采用十六进制,要以0x开头,是数字0而不是字母o,如,
表示一个
进制数,而
则表示一个十进制数。
二进制、八进制、十六进制互相转换
分别是
,这一点使得三种进制间可以直接互相转换。
二进制与八进制互转:
每
个二进制位一组,进行转换,不足位补
,如:
。
二进制与十六进制互转:
每
个二进制位一组,进行转换,不足位补
,如:
。
总结
本文主要介绍了计算机中的二进制、八进制、十六进制,以及它们间的互相转换,如果有问题,欢迎留言探讨。
领取专属 10元无门槛券
私享最新 技术干货