如何在不使用 C# 方法的情况下求出两个二进制数之和?
csharpprogrammingserver side programming更新于 2025/5/26 12:37:17
首先,声明两个变量并用二进制数初始化它们。
val1 = 11010;
val2 = 10100;
Console.WriteLine("二进制 1:" + val1);
Console.WriteLine("二进制 2:" + val2);
要求和,请循环直到两个值都为 0。
while (val1 != 0 || val2 != 0) {
sum[i++] = (val1 % 10 + val2 % 10 + rem) % 2;
rem = (val1 % 10 + val2 % 10 + rem) / 2;
val1 = val1 / 10;
val2 = val2 / 10;
}
现在,让我们看一下求两个二进制数之和的完整代码。
示例
using System;
class Demo {
public static void Main(string[] args) {
long val1, val2;
long i = 0, rem = 0;
long[] sum = new long[30];
val1 = 11010;
val2 = 10100;
Console.WriteLine("二进制 1: " + val1);
Console.WriteLine("二进制 2 : " + val2);
while (val1 != 0 || val2 != 0) {
sum[i++] = (val1 % 10 + val2 % 10 + rem) % 2;
rem = (val1 % 10 + val2 % 10 + rem) / 2;
val1 = val1 / 10;
val2 = val2 / 10;
}
if (rem != 0)
sum[i++] = rem;
i = i - 1;
Console.Write("Sum = ");
while (i >= 0)
Console.Write(sum[i--]);
}
}
输出
二进制一:11010 二进制二:10100 Sum = 101110

