Heim  >  Artikel  >  Welche Methoden zur Konvertierung von Dezimalzahlen in Hexadezimalzahlen gibt es in der C-Sprache?

Welche Methoden zur Konvertierung von Dezimalzahlen in Hexadezimalzahlen gibt es in der C-Sprache?

不言
不言Original
2019-02-22 11:45:07105345Durchsuche

Methoden zum Konvertieren von Dezimalzahlen in Hexadezimalzahlen in der C-Sprache: 1. Durch die While-Schleifenmethode; 2. Durch die For-Schleifenmethode; 3. Verwenden Sie zum Konvertieren Code wie „int decimal_to_hexadecimal(int x)“. .

Welche Methoden zur Konvertierung von Dezimalzahlen in Hexadezimalzahlen gibt es in der C-Sprache?

Die Betriebsumgebung dieses Artikels: Windows 7-System, Version C11, Dell G3-Computer.

Es gibt viele Möglichkeiten, Dezimalzahlen in Hexadezimalzahlen in der C-Sprache umzuwandeln. Sie können For-Schleifen, While-Schleifen oder Funktionen verwenden. Werfen wir einen Blick auf die spezifische Methodeneinführung

Dezimalzahlen haben die Basis 10 und umfassen die folgenden Zahlen: 0 1 2 3 4 5 6 7 8 9

Hexadezimalzahlen haben die Basis 16 und umfassen die folgende Werte: 0 1 2 3 4 5 6 7 8 9 A B C D E F, wobei A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Der Code zum Konvertieren von Dezimalzahlen in Hexadezimalzahlen in der C-Sprache lautet wie folgt

while-Schleife:

#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-Schleife

#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;
}

Funktion verwenden

#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;
}

Das obige ist der detaillierte Inhalt vonWelche Methoden zur Konvertierung von Dezimalzahlen in Hexadezimalzahlen gibt es in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn