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

โปรแกรม C แปลงทศนิยมเป็นเลขฐานสอง (Binary)


แปลงจำนวนเต็มจากระบบฐานสิบ (Decimal/Base-10) เป็นระบบฐานสอง (Binary/Base-2) สมมติขนาด Integer 32 บิต ต้องหารด้วยฐาน (2) ซ้ำๆ ใช้โดยคอมพิวเตอร์แปลงค่า Integer เป็น Byte

Input: 10 Output: 1010

คำอธิบาย

ถ้าตัวเลขทศนิยมคือ 10

  • 10 หาร 2 เหลือ 0 -> 0
  • 10/2 = 5
  • 5 หาร 2 เหลือ 1 -> 1
  • 5/2 = 2
  • 2 หาร 2 เหลือ 0 -> 0
  • 2/2 = 1
  • 1 หาร 2 เหลือ 1 -> 1
  • 1/2 = 0
  • จบการหาร พิมพ์เศษจากหลังมาหน้า ได้ 1010

ตัวอย่าง

#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;
}