Maison > Problème commun > Quelles sont les méthodes de conversion de décimal en hexadécimal en langage C ?

Quelles sont les méthodes de conversion de décimal en hexadécimal en langage C ?

不言
Libérer: 2021-04-20 09:57:50
original
105842 Les gens l'ont consulté

Comment convertir un nombre décimal en hexadécimal en langage C : 1. Grâce à la méthode de la boucle while ; 2. Grâce à la méthode de la boucle for ; 3. Utilisez des fonctions pour convertir, du code tel que "int decimal_to_hexadecimal(int x)" .

Quelles sont les méthodes de conversion de décimal en hexadécimal en langage C ?

L'environnement d'exploitation de cet article : système Windows 7, version C11, ordinateur Dell G3.

Il existe de nombreuses façons de convertir un nombre décimal en hexadécimal en langage C. Vous pouvez utiliser des boucles for, des boucles while ou des fonctions. Jetons un coup d'œil à l'introduction spécifique de la méthode

Les nombres décimaux sont en base 10 et incluent les nombres suivants : 0 1 2 3 4 5 6 7 8 9

Les nombres hexadécimaux sont en base 16 et incluent le valeurs suivantes : 0 1 2 3 4 5 6 7 8 9 A B C D E F, où A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Le code pour convertir le décimal en hexadécimal en langage C est le suivant

boucle 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;
}
Copier après la connexion

boucle 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;
}
Copier après la connexion

Utiliser la fonction

#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;
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal