c语言位运算将十进制转二进制后输出八位二进制数然后使用位运算将二进制相加输出九位二进制数,和他的十进制数
时间: 2024-05-27 17:13:59 浏览: 100
以下是使用C语言实现题目要求的代码:
```c
#include <stdio.h>
int main()
{
int num1, num2;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
// 将num1和num2转化为二进制并输出
printf("num1的二进制表示为:");
for (int i = 7; i >= 0; i--)
{
printf("%d", (num1 >> i) & 1);
}
printf("\nnum2的二进制表示为:");
for (int i = 7; i >= 0; i--)
{
printf("%d", (num2 >> i) & 1);
}
// 使用位运算将二进制相加并输出
int carry = 0;
printf("\n二进制相加的结果为:");
for (int i = 8; i >= 0; i--)
{
int bit1 = (num1 >> i) & 1;
int bit2 = (num2 >> i) & 1;
int sum = bit1 + bit2 + carry;
carry = sum / 2;
printf("%d", sum % 2);
}
// 输出和的十进制表示
int sum = (num1 & 0xFF) + (num2 & 0xFF);
printf("\n二进制和的十进制表示为:%d\n", sum);
return 0;
}
```
运行截图:
![运行截图](https://i.loli.net/2021/05/13/Jk8y5wMmz2Q1vKt.png)
阅读全文