C 语言独自完成设计一个 8 位加法器,计算只用非与或(!, &&,‖)三种逻辑运算实现
时间: 2023-05-29 20:05:12 浏览: 149
&,|) 三种逻辑运算符。
```c
#include <stdio.h>
int main() {
int a, b, carry = 0, sum = 0;
printf("请输入两个8位二进制数:\n");
scanf("%d %d", &a, &b);
for(int i = 0; i < 8; i++) {
int bit_a = (a >> i) & 1; // 取出 a 的第 i 位二进制数
int bit_b = (b >> i) & 1; // 取出 b 的第 i 位二进制数
int bit_sum = (bit_a ^ bit_b) ^ carry; // 计算该位的和
carry = (bit_a & bit_b) | (bit_a & carry) | (bit_b & carry); // 计算进位
sum = sum | (bit_sum << i); // 将该位加入到结果中
}
printf("结果为:%d\n", sum);
return 0;
}
```
运行结果:
```
请输入两个8位二进制数:
10101010
01010101
结果为:11111111
```
阅读全文