บทนำ
แปลงเลขฐานสิบ (Base 10) เป็นฐานสอง (Base 2, ใช้ 0 และ 1)
ขั้นตอน
- หารตัวเลขด้วย 2 เก็บเศษ (0 หรือ 1)
- หารผลหารด้วย 2 ซ้ำจนกว่าจะหารไม่ลง
- อ่านเศษจากล่างขึ้นบน
ตัวอย่าง
42 → 101010
ตัวอย่างโค้ด C++ (ใช้ Bitwise)
#include <iostream>
using namespace std;
void convert(int num) {
for (int i = 31; i >= 0; i--) {
int k = num >> i;
if (k & 1)
cout << "1";
else
cout << "0";
}
}
int main() {
int num = 42;
convert(num);
return 0;
}
ผลลัพธ์
00000000000000000000000000101010
หมายเหตุ: โค้ดแสดง 32 บิตเต็ม รวมศูนย์นำหน้า