Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เพื่อเพิ่มสองไบนารีสตริง


ในบทความนี้ เราจะเข้าใจวิธีการเพิ่มสตริงไบนารีสองตัวใน Java สตริงไบนารีคือลำดับของตัวเลขที่แสดงเป็นไบต์ 0 และ 1 วินาที

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ป้อนข้อมูล

สมมติว่าข้อมูลที่เราป้อนคือ −

1010110001

ผลผลิต

ผลลัพธ์ที่ต้องการจะเป็น −

100110

อัลกอริทึม

ขั้นตอนที่ 1- STARTขั้นตอนที่ 2- สร้างวัตถุสแกนเนอร์ใหม่ขั้นตอนที่ 3- ป้อนอินพุตไบนารีสองตัวขั้นตอนที่ 4- กำหนดแฟล็กการพกพาขั้นตอนที่ 5- ใช้ในขณะที่เงื่อนไขเพื่อตรวจสอบว่ามีค่าเท่ากับ 0ขั้นตอนที่ 6- หากไม่ใช่ ให้ใช้ตัวดำเนินการ % และตัวดำเนินการ ตั้งค่าสถานะเพื่อทำการบวกระดับบิตขั้นตอนที่ 7-แสดงเป็นผลลัพธ์ขั้นตอนที่ 8-STOP

ตัวอย่างที่ 1

ที่นี่ ผู้ใช้ป้อนอินพุตตามข้อความแจ้ง คุณสามารถลองใช้ตัวอย่างนี้ในเครื่องมือกราวด์ของเรา โปรแกรม Java เพื่อเพิ่มสองไบนารีสตริง .

<ก่อนหน้า>นำเข้า java.util.*; คลาสสาธารณะ AddBinaryNumbers { โมฆะคงที่สาธารณะหลัก (สตริง [] args) { binary_input_1 ยาว , binary_input_2; System.out.println("นำเข้าแพ็คเกจที่จำเป็นแล้ว"); อินพุตสแกนเนอร์ =สแกนเนอร์ใหม่ (System.in); System.out.println("วัตถุตัวอ่านถูกกำหนดแล้ว"); System.out.print("ป้อนเลขฐานสองตัวแรก :"); binary_input_1 =input.nextLong(); System.out.print("ป้อนเลขฐานสองที่สอง:"); binary_input_2 =input.nextLong(); int ฉันพก; ผม =0; พกพา =0; int[] binary_sum =int ใหม่ [10]; ในขณะที่ (binary_input_1 !=0 || binary_input_2 !=0) { binary_sum[i++] =(int) (carry + (binary_input_1 % 10 + binary_input_2 % 10) % 2); พกพา =(int) ((binary_input_1 % 10 + binary_input_2 % 10 + พกพา) / 2); binary_input_1 =binary_input_1 / 10; binary_input_2 =binary_input_2 / 10; } if (carry !=0) { binary_sum[i++] =carry; } --ฉัน; System.out.print("\nผลรวมของเลขฐานสองคือ:"); ในขณะที่ (i>=0) { System.out.print(binary_sum[i--]); } System.out.print("\n"); }}

ผลลัพธ์

นำเข้าแพ็คเกจที่ต้องการแล้ว มีการกำหนดวัตถุตัวอ่านแล้ว เลขฐานสองตัวแรกคือ 10101 เลขฐานสองที่สองคือ 10001ผลรวมของเลขฐานสองคือ:100110

ตัวอย่างที่ 2

ในที่นี้ มีการกำหนดจำนวนเต็มก่อนหน้านี้ และเข้าถึงและแสดงค่าบนคอนโซล

<ก่อน>คลาสสาธารณะ AddingBinaryNumbers { โมฆะคงที่สาธารณะหลัก (สตริง [] args) { binary_input_1 ยาว, binary_input_2; binary_input_1 =10101; binary_input_2 =10001; System.out.print("เลขฐานสองตัวแรกคือ" + binary_input_1); System.out.print("\nเลขฐานสองที่สองคือ " + binary_input_2); int ฉันพก; ผม =0; พกพา =0; int[] binary_sum =int ใหม่ [10]; ในขณะที่ (binary_input_1 !=0 || binary_input_2 !=0) { binary_sum[i++] =(int) (carry + (binary_input_1 % 10 + binary_input_2 % 10) % 2); พกพา =(int) ((binary_input_1 % 10 + binary_input_2 % 10 + พกพา) / 2); binary_input_1 =binary_input_1 / 10; binary_input_2 =binary_input_2 / 10; } if (carry !=0) { binary_sum[i++] =carry; } --ฉัน; System.out.print("\nผลรวมของเลขฐานสองคือ:"); ในขณะที่ (i>=0) { System.out.print(binary_sum[i--]); } System.out.print("\n"); }}

ผลลัพธ์

เลขฐานสองตัวแรกคือ 10101เลขฐานสองที่สองคือ 10001ผลรวมของเลขฐานสองคือ:100110