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

การแปลงทศนิยมเป็นไบนารี


สามารถแปลงตัวเลขทศนิยมเป็นรูปแบบไบนารีได้ ในการแปลงเลขฐานสิบเป็นเลขฐานสอง เราต้องหารตัวเลขด้วย 2 จนกว่าจะถึง 0 หรือ 1 และในแต่ละขั้นตอน เศษที่เหลือจะถูกเก็บไว้ต่างหากเพื่อสร้างเลขฐานสองที่เท่ากันในลำดับที่กลับกัน

ในอัลกอริธึมนี้ เราจะทำตามวิธีการแบบเรียกซ้ำ จะช่วยให้เราแก้ปัญหาโดยไม่ต้องใช้โครงสร้างข้อมูลสแต็ก ในการใช้งาน เรารู้ว่าการเรียกซ้ำของฟังก์ชันจะเป็นไปตามสแต็กภายใน เราจะให้บริการงานของเราโดยใช้กองนั้น

อินพุตและเอาต์พุต

Input:
Decimal number 56
Output:
Binary Equivalent: 111000

อัลกอริทึม

decToBin(decimal)

ป้อนข้อมูล :เลขทศนิยม

ผลลัพธ์: สตริงเทียบเท่าไบนารี

Begin
   if decimal = 0 OR 1, then
      insert decimal into the binary string
      return
   decToBin(decimal / 2)
   insert (decimal mod 2) into the binary string.
End

ตัวอย่าง

#include<iostream>
using namespace std;

void decToBin(int dec) {
   if(dec == 1 || dec == 0) {
      cout << dec;          //print either 0 or 1 as dec
      return;
   }

   decToBin(dec/2);    //divide the number by 2 and find decimal again
   cout << dec % 2;    //after returning print the value in reverse order
}

main() {
   int dec;
   cout<<"Enter decimal number: "; cin >> dec;
   cout << "Binary Equivalent: "; decToBin(dec);
}

ผลลัพธ์

Enter decimal number: 56
Binary Equivalent: 111000