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

โปรแกรมสำหรับการแปลงทศนิยมเป็นไบนารีใน C++


กำหนดให้มีตัวเลขทศนิยมเป็นอินพุต ภารกิจคือการแปลงตัวเลขทศนิยมให้เป็นเลขฐานสอง

ตัวเลขทศนิยมในคอมพิวเตอร์จะแสดงด้วยฐาน 10 และเลขฐานสองจะแสดงด้วยฐาน 2 เนื่องจากมีเพียงเลขฐานสอง 0 และ 1 เท่านั้น ในขณะที่ตัวเลขทศนิยมสามารถเป็นตัวเลขใดก็ได้ตั้งแต่ 0 – 9

ในการแปลงเลขฐานสิบเป็นเลขฐานสองให้ทำตามขั้นตอนที่กำหนด -

  • ขั้นแรกให้หารตัวเลขที่กำหนดด้วยมูลค่าฐานของจำนวนการแปลงเช่น หาร 42 ด้วย 2 เพราะเราต้องแปลง 42 เป็นเลขฐานสองที่มีฐาน 2 แล้วรับผลหารและเก็บไว้ หากส่วนที่เหลือเป็น 0 ให้เก็บบิตเป็น 0 อย่างอื่น 1.
  • หารผลหารที่ได้รับด้วยค่าฐานของเลขฐานสองซึ่งเป็น 2 และเก็บบิตไว้
  • ทำการเลื่อนไปทางขวาไปยังบิตที่เก็บไว้
  • ทำซ้ำขั้นตอนจนกว่าส่วนที่เหลือจะแบ่งแยกไม่ได้

ด้านล่างนี้คือการแสดงรูปภาพของการแปลงเลขทศนิยมให้เป็นเลขฐานสอง

โปรแกรมสำหรับการแปลงทศนิยมเป็นไบนารีใน C++

ตัวอย่าง

Input-:42 หาร 42 ด้วยฐาน 2 :42 / 2 =0 (ส่วนที่เหลือ) 21(quotient) หารหารหารด้วยฐาน:21 / 2 =1(ส่วนที่เหลือ) 10(quotient) หารหารหารด้วยฐาน:10 / 2 =0(เศษ) 5(ผลหาร) หารหารหารด้วยฐาน:5 / 2 =1(เศษเหลือ) 2(ผลหาร) หารผลหารด้วยฐาน:2 / 2 =0(เศษเหลือ) 1(ผลหาร) ตอนนี้กลับบิตที่จะได้รับ ค่าสุดท้าย.Output-:101010

อัลกอริทึม

StartStep 1-> ประกาศฟังก์ชันการแปลงทศนิยมเป็นไบนารี int แปลง (int num) วนรอบสำหรับ int i =31 i>=0 i— ตั้งค่า int k =num>> i ถ้า (k &1) พิมพ์ "1" End Else พิมพ์ "0" End EndStep 2-> ใน main() ประกาศและตั้งค่า int num =42 Call convert(num)Stop

ตัวอย่าง

#include  โดยใช้เนมสเปซ std; // แปลงทศนิยมเป็นไบนารี่ แปลง (int num) { สำหรับ (int i =31; i>=0; i--) { int k =num>> i; ถ้า (k &1) cout <<"1"; อื่นๆ <<"0"; }}int main() { int num =42; แปลง(จำนวน);}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะเกิดผลลัพธ์ดังต่อไปนี้

<ก่อน>0000000000000000000000000000001010