C 프로그래밍 언어에서 10진수를 2진수로 변환하는 방법을 이해하려면 다음 예를 고려하세요.
예 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 프로그램입니다.
Live Demonstration
#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
위 내용은 다음을 중국어로 번역하세요: 10진수를 2진수로 변환하는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!