>일반적인 문제 >C 언어에서 10진수를 16진수로 변환하는 방법은 무엇입니까?

C 언어에서 10진수를 16진수로 변환하는 방법은 무엇입니까?

不言
不言원래의
2019-02-22 11:45:07105821검색

C 언어에서 10진수를 16진수로 변환하는 방법: 1. while 루프 방법을 통해 2. for 루프 방법을 통해 3. "intdecimal_to_hexadecimal(int x)"와 같은 코드를 변환하는 함수를 사용합니다.

C 언어에서 10진수를 16진수로 변환하는 방법은 무엇입니까?

이 문서의 운영 환경: Windows 7 시스템, 버전 C11, Dell G3 컴퓨터.

C 언어에서는 for 루프, while 루프 또는 함수를 사용하여 10진수를 16진수로 변환하는 방법이 많이 있습니다. 구체적인 방법 소개를 살펴보겠습니다

10진수는 10진수를 가지며 다음 숫자를 포함합니다: 0 1 2 3 4 5 6 7 8 9

16진수 숫자는 16진수를 가지며 다음 값을 포함합니다: 0 1 2 3 4 5 6 7 8 9 A B C D E F, 여기서 A = 10, B = 11, C = 12, D = 13, E = 14, F = 15입니다.

C언어에서 10진수를 16진수로 변환하는 코드는 다음과 같습니다

while 루프:

#include<stdio.h>
int main() {
	long int decimalNumber,remainder,quotient;
	int i=1,j,temp;
	char hexadecimalNumber[100];
	printf("输入十进制数任意: ");
	scanf("%ld",&decimalNumber);
	quotient = decimalNumber;
	while(quotient!=0) {
		temp = quotient % 16;
		if( temp < 10)
		           temp =temp + 48; else
		         temp = temp + 55;
		hexadecimalNumber[i++]= temp;
		quotient = quotient / 16;
	}
	printf("十进制数的等效十六进制值 %d: ",decimalNumber);
	for (j = i -1 ;j> 0;j--)
	      printf("%c",hexadecimalNumber[j]);
	return 0;
}

for 루프

#include<stdio.h>
#include<math.h>

int main()
{
      int decimal_number, remainder, hexadecimal_number = 0;
      int count;
      printf("Enter a Decimal Number:\t");
      scanf("%d", &decimal_number);	
      for(count = 0; decimal_number > 0; count++)
      {
            remainder = decimal_number % 16;
            hexadecimal_number = hexadecimal_number + remainder * pow(10, count);
            decimal_number = decimal_number / 16;
      }
      printf("\nHexadecimal Equivalent:\t%d\n", hexadecimal_number);
      return 0;
}

함수 사용

#include<stdio.h>
#include<math.h>

int decimal_to_hexadecimal(int x)
{
      int hexadecimal_number, remainder, count = 0;
      for(count = 0; x > 0; count++)
      {
            remainder = x % 16;
            hexadecimal_number = hexadecimal_number + remainder * pow(10, count);
            x = x / 16;
      }
      return hexadecimal_number;
}

int main()
{
      int decimal_number, result;
      printf("Enter a Decimal Number:\t");
      scanf("%d", &decimal_number);		
      result = decimal_to_hexadecimal(decimal_number);	
      printf("\nHexadecimal Equivalent:\t%d\n", result);
      return 0;
}

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

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