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

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


แปลงจำนวนเต็มจากระบบเลขฐานสิบ (ฐาน-10) เป็นระบบเลขฐานสอง (ฐาน-2) ขนาดของจำนวนเต็มถือว่าเป็น 32 บิต คุณต้องหารตัวเลขด้วยฐาน คอมพิวเตอร์ใช้เพื่อเปลี่ยนค่าจำนวนเต็มเป็นไบต์ที่เป็นคอมพิวเตอร์

Input:10

Output:1010

คำอธิบาย

หากเลขทศนิยมคือ 10

  • เมื่อ 10 หารด้วย 2 ส่วนที่เหลือจะเป็นศูนย์ ดังนั้น 0

  • หาร 10 ด้วย 2 จำนวนใหม่คือ 10/2 =5.

  • เมื่อ 5 หารด้วย 2 ส่วนที่เหลือคือ 1 ดังนั้น 1.

  • หาร 5 ด้วย 2 จำนวนใหม่คือ 5/2 =2

  • เมื่อ 2 หารด้วย 2 ส่วนที่เหลือเป็นศูนย์ ดังนั้น 0

  • หาร 2 ด้วย 2 จำนวนใหม่คือ 2/2 =1

  • เมื่อ 1 หารด้วย 2 ส่วนที่เหลือเป็น 1 ดังนั้น 1.

  • หาร 1 ด้วย 2 ตัวเลขใหม่คือ 1/2 =0

  • ตัวเลขกลายเป็น =0 พิมพ์อาร์เรย์ในลำดับที่กลับกัน เลขฐานสองที่เทียบเท่ากันคือ 1,010

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
   long n, d, r, binary = 0;
   n=10;
   d = n;
   int temp = 1;
   while (n!=0) {
      r = n%2;
      n = n / 2;
      binary = binary + r*temp;
      temp = temp * 10;
   }
   printf("%ld", binary);
   return 0;
}