二进制运算

本文介绍了二进制运算是如何进行的,包括算术和逻辑运算两大方面,详细阐述了各种二进制运算符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自百度百科:https://baike.baidu.com/item/二进制运算/20822483
一、运算符:

&(按位与)|(按位或)^(按位异或)~(按位取反)<<(按位左移)>>(有符号的按位右移)>>>(无符号的按位右移)

二、算术运算:

二进制数的算术运算包括:加、减、乘、除四则运算,下面分别予以介绍。
(1)二进制数的加法:
根据“逢二进一”规则,二进制数加法的法则为::
0+0=0
0+1=1+0=1
1+1=0 (进位为11+1+1=1 (进位为1)
例如:11101011相加过程如下:

在这里插入图片描述

2)二进制数的减法
根据“借一有二”的规则,二进制数减法的法则为:
00=0
11=0
10=1
01=1 (借位为1)
例如:1101减去1011的过程如下 [1]

在这里插入图片描述

3)二进制数的乘法:
二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有01两种可能的乘数位,导致二进制乘法更为
简单。二进制数乘法的法则为:
0×0=0
0×1=1×0=0
1×1=1
例如:10011010相乘的过程如下:

在这里插入图片描述

由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,
则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。
(4)二进制数的除法:
二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被
除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商
为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。
例如:100110÷110的过程如下:

在这里插入图片描述

所以,100110÷110=11010。
说明:乘除法分原码乘法和补码乘法。

三、逻辑运算:

二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”
运算。
(1)逻辑“或”运算
又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:
0+0=000=0
0+1=101=1
1+0=110=1
1+1=111=1
可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果
才为0。计算时,要特别注意和算术运算的加法加以区别。
(2)逻辑“与”运算
又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:
0×1=00·1=001=0
1×0=01·0=010=0
1×1=11·1=111=1
可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结
果才为1。
(3)逻辑“非”运算
又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:
可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果
为0。
(4)逻辑“异或”运算 
“异或”运算,常用符号“⊕”或“xor”来表示,其运算规则为:
0 xor 0 = 000 = 0
0 xor 1 = 101 = 1
1 xor 0 = 110 = 1
1 xor 1 = 011 = 0
可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值