หากต้องการหาผลรวมของเลขฐานสองสองตัว ให้ตั้งค่าเป็นอันดับแรก
val1 = 11110; val2 = 11100;
ตอนนี้เรียกเมธอด displaySum() ซึ่งสร้างขึ้นเพื่อแสดง sumL
sum = displaySum(val1, val2);
เราได้ตั้งค่าอาร์เรย์ใหม่ในวิธีการแสดงเลขฐานสองแต่ละบิต
long[] sum = new long[30];
ตอนนี้ให้เราดูรหัสที่สมบูรณ์เพื่อคำนวณผลรวมของเลขฐานสองดังแสดงในรหัสด้านล่าง -
ตัวอย่าง
using System;
class Demo {
public static void Main(string[] args) {
long val1, val2, sum = 0;
val1 = 11110;
val2 = 11100;
Console.WriteLine("Binary one: "+val1);
Console.WriteLine("Binary two: "+val2);
sum = displaySum(val1, val2);
Console.WriteLine("Sum = {0}", sum);
}
static long displaySum (long val1, long val2) {
long i = 0, rem = 0, res = 0;
long[] sum = new long[30];
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;
while (i >= 0)
res = res * 10 + sum[i--];
return res;
}
} ผลลัพธ์
Binary one: 11110 Binary two: 11100 Sum = 111010