십진수를 이진수로 변환하는 방법: 몫이 0이 될 때까지 십진수를 2로 계속 나눈 다음 나머지를 아래에서 위로 변환 코드 "int main(void){int n,len;int a[ 20];scanf("%d",&n);while(n/2){a[len++]=n%2;n=n/2;}a[len++]=n%2;for(i=len -1;i>=0;i--){printf("%d",a[i]);}}".
이 튜토리얼의 운영 환경: Windows 7 시스템, c99 버전, Dell G3 컴퓨터.
C 언어 십진수를 이진수로 변환
C 언어에서는 십진수를 다른 진수로 변환하는 것이 더 복잡합니다.
10진 정수는 "N으로 나누고 나머지를 취하고 역순으로 배열"하는 방법을 사용하여 N진 정수로 변환됩니다. 구체적인 방법은 다음과 같습니다.
N을 제수로 사용하고 십진 정수를 N으로 나누면 몫과 나머지를 얻을 수 있습니다.
나머지를 유지하고 몫을 사용하여 계속 N으로 나누고 새로운 몫과 나머지
나머지를 유지하고 계속해서 몫으로 N으로 나누면 새로운 몫과 나머지를 얻게 됩니다.
...
나머지를 유지하면서 이를 반복합니다. 매번 몫이 0이 될 때까지 몫 N으로 나눕니다.
먼저 얻은 나머지를 N 염기 수의 하위 숫자로 취하고, 나중에 얻은 나머지를 N 염기 수의 상위 숫자로 배열하여 N 염기를 얻습니다. 숫자.
그리고 십진수를 이진수로 변환하려면 "2로 나누고 나머지를 취하고 역순으로 배열"하는 원리를 사용해야 합니다.
숫자가 몫이 될 때까지 계속해서 2로 나눕니다. 0이고 나머지를 아래에서 위로 쓰면 숫자의 이진 표현을 얻을 수 있습니다.
다음 그림은 십진수 42를 이진수로 변환하는 과정을 보여줍니다.
그림에서 십진수 42를 이진수로 변환한 결과는 101010입니다.
구현 코드:
#include <stdio.h> int main(void) { int n,length; //length用来装二进制数的个数 int a[20]; //定义一个数组来装余2得到的余数 scanf("%d",&n); //输入十进制的数字 while(n/2){ //当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句 a[length++] = n%2; //将除2得到的余数装入数组中 n = n/2; //除二 } a[length++] = n%2; //存储最后一个余数 //将余数从下往上输出 for(int i = length-1;i>=0;i--) printf("%d",a[i]); }
관련 권장 사항: "C Video Tutorial"
위 내용은 C 언어에서 10진수를 2진수로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!