浅谈进制问题

什么是进制

进制指进位计数制,是人为定义的一种带进位的计数方法, 即对于任何一种确定的进制,每一位置上的数运算时都是逢该确定的值进一位,例如,二进制就是逢二进一,四进制是逢四进一,十进制是逢十进一,十六进制是逢十六进一等。其中,十进制是人们在日常生活中最常用的进制,二进制是计算机中最常用的进制。

为什么要学进制

我们为什么要学进制因为在计算机的世界里,只有0和1,也就是二进制。

进制的分类

在我们日常生活中及教学中普遍运用的就是十进制,那么在我们接触计算机语言后,有很多进制,比如二进制、八进制、十六进制。这些都是进制,但要说最重要的还是二进制,因为二进制只有0和1,代表电路的有和无,是计算机能够识别的一种进制表现形式。

关于二进制

二进制

1.1 二进制是计算机采用的表示数字的方式, 每个数位上只有0和1;

1.2 任何整数一定可以采用二进制的方式表示, 小数的二进制这里不多说;

1.3 字节内部采用二进制方式记录数字, 一个字节分成八段, 每个分段有一个编号, 最右边分段编号是0, 向左逐渐递增;

1.4 相邻分段之间有2倍关系, 某个分段的数字相当于2的编号次方, 如图:

二进制转十进制:

把每个数位单独转换后把所有的转换结果求和

例:01001110 = 2^6 + 2^3 + 2^2 + 2^1 = 64 + 8 + 4 + 2 = 78

十进制转二进制:

方法一:(不适用于处理大数字)先把十进制数字拆分成多个2的整数次方之和, 然后对每个结果单独转换, 最后其他数位补0。

59 = 32 + 16 + 8 + 2 + 1 = 2^5 + 2^4 + 2^3 + 2^1 + 2^0 = 00111011

方法二:除2取余, 逆序余数;
上述两种方法算出来的是二进制原码

计算机字节里采用二进制补码记录数字

所有非负数整数, 补码和原码一样

二进制计算

二进制的运算
运算符号
四则运算(±*/)
& (按位与)
| (按位或)
^ (按位异或)
~ (按位取反)
<< (按位左移)

(有符号的按位右移)

(无符号的按位右移)
运算逻辑
(1)二进制数的加法
根据“逢二进一”规则,二进制数加法的法则为:

0+0=0
0+1=1+0=1
1+1=0 (进位为1)
1+1+1=1 (进位为1)

(1)二进制数的加法

根据“逢二进一”规则,二进制数加法的法则为:

0+0=0
0+1=1+0=1
1+1=0 (进位为1)
1+1+1=1 (进位为1)

例如:1110和1011相加过程如下:
在这里插入图片描述

(2)二进制数的减法

根据“借一有二”的规则,二进制数减法的法则为:

0-0=0

1-1=0

1-0=1

0-1=1 (借位为1)

例如:1101减去1011的过程如下[1]:
在这里插入图片描述

(3)二进制数的乘法

二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:

0×0=0

0×1=1×0=0

1×1=1

例如:1001和1010相乘的过程如下:

在这里插入图片描述

由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。

(4)二进制数的除法

二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。

例如:100110÷110的过程如下:
在这里插入图片描述

所以,100110÷110=110余10。

说明:乘除法分原码乘法和补码乘法。

(5)逻辑“或”运算

又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

0+0=0或0∨0=0

0+1=1或0∨1=1

1+0=1或1∨0=1

1+1=1或1∨1=1

可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

(6)逻辑“与”运算

又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

0×1=0或0·1=0或0∧1=0

1×0=0或1·0=0或1∧0=0

1×1=1或1·1=1或1∧1=1

可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

(7)逻辑“非”运算

又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:

可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

(8)逻辑“异或”运算

“异或”运算,常用符号“”或“”来表示,其运算规则为:

00=0 或 00=0
01=1 或 01=1
10=1 或 10=1
11=0 或 11=0

可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1

参考自(https://blog.csdn.net/weixin_30741653/article/details/96401443?)
初来乍到还请各位大佬多指教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值