ตัวอย่างการแปลงทศนิยมเป็นเลขฐานสอง:
ตัวอย่าง 1 - แปลง 25 เป็นฐานสอง:
- ขั้นตอน 1: 25 / 2 เหลือ 1, ผลหาร 12
- ขั้นตอน 2: 12 / 2 เหลือ 0, ผลหาร 6
- ขั้นตอน 3: 6 / 2 เหลือ 0, ผลหาร 3
- ขั้นตอน 4: 3 / 2 เหลือ 1, ผลหาร 1
- ขั้นตอน 5: 1 / 2 เหลือ 1, ผลหาร 0
- ผลลัพธ์: 11001
ตัวอย่าง 2 - แปลง 0.7 เป็นฐานสอง:
- ขั้นตอน 1: 0.7 * 2 = 1.4 ส่วนเต็ม = 1
- ขั้นตอน 2: 0.4 * 2 = 0.8 ส่วนเต็ม = 0
- ขั้นตอน 3: 0.8 * 2 = 1.6 ส่วนเต็ม = 1
- ขั้นตอน 4: 0.6 * 2 = 1.2 ส่วนเต็ม = 1
- ขั้นตอน 5: 0.2 * 2 = 0.4 ส่วนเต็ม = 0
- ขั้นตอน 6: 0.4 * 2 = 0.8 ส่วนเต็ม = 0
- ผลลัพธ์: 0.101100
ขั้นตอน 3 - ค่าฐานสองของ 25.7 คือ:
11001 + 0.101100 = 1101.101100
ตัวอย่างโปรแกรม
โปรแกรม C แปลงทศนิยมเป็นเลขฐานสอง:
#include<stdio.h> int main(){ long double fraDecimal,fraBinary,bFractional = 0.0,dFractional,fraFactor=0.1; long int dIntegral,bIntegral=0; long int intFactor=1,remainder,temp,i; printf("Enter any fractional decimal number: "); scanf("%Lf",&fraDecimal); dIntegral = fraDecimal; dFractional = fraDecimal - dIntegral; while(dIntegral!=0){ remainder=dIntegral%2; bIntegral=bIntegral+remainder*intFactor; dIntegral=dIntegral/2; intFactor=intFactor*10; } for(i=1;i<=6;i++){ dFractional = dFractional * 2; temp = dFractional; bFractional = bFractional + fraFactor* temp; if(temp ==1) dFractional = dFractional - temp; fraFactor=fraFactor/10; } fraBinary = bIntegral + bFractional; printf("Equivalent binary value: %lf",fraBinary); return 0; }
ผลลัพธ์
Enter any fractional decimal number: 5.7 Equivalent binary value: 101.101100