二进制怎么相加减

1.二进制加法运算法则:
0+0=0,0+1=1,1+0=1,1+1=10 ,也就是当两个相加的二进制位仅一位为1时,相加的结果为1;如果两个二进制位全是0,相加的结果仍为0;而如果两个相加的二进制位均为1,则结果为10(相当于十进制中的2),也就是“逢2进1”规则,与十进制中的“逢10进1”的道理一样。

二进制的相加与十进制的相加其实很多地方是类似的。具体方法请看我下面的图解。一步一步教你学会二进制的加法。以0111+1110为例子。喜欢请看我其它经验哦。

1:先把两个数对齐,和十进制计算时候第一步一样。

2:从最右边对齐的上下两个数开始。

3:1+0=1,0+0=0.如果两个数不是都是1,那么直接相加就好。直接写在下面

4:1+1=10,把1写上面,把0写下面。

5:1 +1 +1 = 11,要注意进位。

6:依次类推,计算完成。

  • 37
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,二进制加减乘除运算可以通过位运算符来实现。以下是一些常用的位运算符: 1. 位与运算符(&):对应位上的两个数都是1,结果才为1。 2. 位或运算符(|):对应位上的两个数只要有一个是1,结果就为1。 3. 异或运算符(^):对应位上的两个数不同,则结果为1,否则结果为0。 4. 取反运算符(~):对每个二进制位取反(0变成1,1变成0)。 以下是一些常见的二进制运算示例: 1. 二进制加法: ```c int a = 0b1010; // 十进制数10 int b = 0b1101; // 十进制数13 int sum = a ^ b; // 不进位加结果,0b0111(十进制数7) int carry = (a & b) << 1; // 进位结果,0b1000(十进制数8) int result = sum | carry; // 最终结果,0b1111(十进制数15) ``` 2. 二进制减法: ```c int a = 0b1101; // 十进制数13 int b = 0b1010; // 十进制数10 int diff = a ^ b; // 不借位减结果,0b0111(十进制数7) int borrow = ((~a) & b) << 1; // 借位结果,0b0100(十进制数4) int result = diff | borrow; // 最终结果,0b1011(十进制数11) ``` 3. 二进制乘法: ```c int a = 0b1010; // 十进制数10 int b = 0b1101; // 十进制数13 int result = 0; while (b != 0) { if (b & 1) { result += a; } a <<= 1; b >>= 1; } ``` 4. 二进制除法: ```c int a = 0b1101; // 十进制数13 int b = 0b101; // 十进制数5 int quotient = 0; int remainder = 0; for (int i = 31; i >= 0; i--) { remainder <<= 1; remainder |= (a >> i) & 1; if (remainder >= b) { remainder -= b; quotient |= 1 << i; } } ``` 以上是一些常见的二进制运算示例,需要注意的是,在进行二进制运算时,需要使用二进制数表示,并且在C语言中,整数默认是有符号的,因此需要注意符号位的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值