编写一个程序实现二进制的加法运算。只考虑八位以内二进制数的加法不使用数组
3条回答 默认 最新
山亦玉 2023-11-09 11:44关注#include <stdio.h> int checkBinary(int num) { while (num != 0) { if (num % 10 > 1) { return 0; } num = num / 10; } return 1; } int main() { int num1, num2; int carry, result; printf("请输入第一个二进制数: "); scanf("%d", &num1); if (!checkBinary(num1)) { printf("错误:输入的不是二进制数\n"); return 1; } printf("请输入第二个二进制数: "); scanf("%d", &num2); if (!checkBinary(num2)) { printf("错误:输入的不是二进制数\n"); return 1; } while (num2 != 0) { // 计算进位 carry = (num1 & num2) << 1; // 计算结果 result = num1 ^ num2; // 更新数值 num1 = result; num2 = carry; } printf("二进制数 %d 和 %d 的和为: %d\n", num1, num2, result); return 0; }这个程序首先读取两个二进制数。然后,它使用一个函数
checkBinary来检查输入的数是否是有效的二进制数。如果输入的数不是二进制数,程序会打印出错误信息并退出。如果输入的数是二进制数,程序会继续进行加法运算。解决 无用评论 打赏 举报