=0;i--){printf("%d",a[i]);}}"."/> =0;i--){printf("%d",a[i]);}}".">

 >  기사  >  백엔드 개발  >  C 언어에서 10진수를 2진수로 변환하는 방법

C 언어에서 10진수를 2진수로 변환하는 방법

青灯夜游
青灯夜游원래의
2022-11-24 10:27:2647454검색

십진수를 이진수로 변환하는 방법: 몫이 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]);}}".

C 언어에서 10진수를 2진수로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, c99 버전, Dell G3 컴퓨터.

C 언어 십진수를 이진수로 변환

C 언어에서는 십진수를 다른 진수로 변환하는 것이 더 복잡합니다.

10진 정수는 "N으로 나누고 나머지를 취하고 역순으로 배열"하는 방법을 사용하여 N진 정수로 변환됩니다. 구체적인 방법은 다음과 같습니다.

  • N을 제수로 사용하고 십진 정수를 N으로 나누면 몫과 나머지를 얻을 수 있습니다.

  • 나머지를 유지하고 몫을 사용하여 계속 N으로 나누고 새로운 몫과 나머지

  • 나머지를 유지하고 계속해서 몫으로 N으로 나누면 새로운 몫과 나머지를 얻게 됩니다.

  • ...

  • 나머지를 유지하면서 이를 반복합니다. 매번 몫이 0이 될 때까지 몫 N으로 나눕니다.

먼저 얻은 나머지를 N 염기 수의 하위 숫자로 취하고, 나중에 얻은 나머지를 N 염기 수의 상위 숫자로 배열하여 N 염기를 얻습니다. 숫자.

그리고 십진수를 이진수로 변환하려면 "2로 나누고 나머지를 취하고 역순으로 배열"하는 원리를 사용해야 합니다.

  • 숫자가 몫이 될 때까지 계속해서 2로 나눕니다. 0이고 나머지를 아래에서 위로 쓰면 숫자의 이진 표현을 얻을 수 있습니다.

다음 그림은 십진수 42를 이진수로 변환하는 과정을 보여줍니다.

C 언어에서 10진수를 2진수로 변환하는 방법

그림에서 십진수 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 언어에서 10진수를 2진수로 변환하는 방법

관련 권장 사항: "C Video Tutorial"

위 내용은 C 언어에서 10진수를 2진수로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.