c语言使用位运算将十进制转二进制后输出八位二进制数然后使用位运算将二进制相加输出九位二进制数,和他的十进制数并输出竖式运算法的过程
时间: 2024-05-25 20:15:40 浏览: 13
#include <stdio.h>
int main() {
int decimal = 57; // 待转换的十进制数
int binary[8] = {0}; // 用数组存储二进制数
int sum[9] = {0}; // 用数组存储相加后的二进制数
// 十进制转二进制
int i = 7;
while (decimal) {
binary[i] = decimal % 2;
decimal /= 2;
i--;
}
// 输出八位二进制数
printf("Binary: ");
for (i = 0; i < 8; i++) {
printf("%d", binary[i]);
}
printf("\n");
// 二进制相加
int carry = 0; // 进位
for (i = 7; i >= 0; i--) {
sum[i+1] = binary[i] ^ sum[i] ^ carry; // 异或运算
carry = (binary[i] & sum[i]) | (binary[i] & carry) | (sum[i] & carry); // 与运算和或运算
}
sum[0] = carry; // 最高位的进位
// 输出九位二进制数
printf("Sum: ");
for (i = 0; i < 9; i++) {
printf("%d", sum[i]);
}
printf("\n");
// 输出竖式运算法的过程
printf(" ");
for (i = 0; i < 8; i++) {
printf("%d ", binary[i]);
}
printf("\n+ ");
for (i = 0; i < 8; i++) {
printf("%d ", binary[i]);
}
printf("\n= ");
for (i = 0; i < 9; i++) {
printf("%d ", sum[i]);
}
printf("\n");
return 0;
}
相关推荐
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)