Рубрики

Программа для преобразования десятичных в шестнадцатеричные

Учитывая десятичное число в качестве входных данных, нам нужно написать программу для преобразования указанного десятичного числа в эквивалентное шестнадцатеричное число. т.е. преобразовать число с базовым значением 10 в базовое значение 16.

Шестнадцатеричные числа используют 16 значений для представления числа. Числа от 0 до 9 обозначены цифрами от 0 до 9, а 10-15 представлены от A до F.

Примеры:

Input : 116
Output : 74

Input : 10
Output : A

Input: 33
Output: 21

Алгоритм :

  1. Сохраните остаток, когда число делится на 16, во временной переменной temp. Если temp меньше 10, вставьте (48 + temp) в массив символов, в противном случае, если temp больше или равно 10, вставьте (55 + temp) в массив символов.
  2. Разделите число на 16 сейчас
  3. Повторите два вышеупомянутых шага, пока число не станет равным 0.
  4. Напечатайте массив в обратном порядке.

пример

Если задано десятичное число 2545.
Шаг 1 : Рассчитать остаток, когда 2545 делится на 16, равен 1. Следовательно, temp = 1. Так как temp меньше 10. Итак, arr [0] = 48 + 1 = 49 = '1'.
Шаг 2 : Разделите 2545 на 16. Новое число 2545/16 = 159.
Шаг 3 : Рассчитать остаток, когда 159 делится на 16, равен 15. Следовательно, temp = 15. Поскольку temp больше 10. Итак, arr [1] = 55 + 15 = 70 = 'F'.
Шаг 4 : Разделите 159 на 16. Новое число — 159/16 = 9.
Шаг 5 : Рассчитать остаток, когда 9 делится на 16, равен 9. Поэтому temp = 9. Так как temp меньше 10. Итак, arr [2] = 48 + 9 = 57 = '9'.
Шаг 6 : Разделите 9 на 16. Новое число 9/16 = 0.
Шаг 7 : Поскольку число становится = 0. Прекратите повторять шаги и распечатайте массив в обратном порядке. Следовательно, эквивалентное шестнадцатеричное число равно 9F1.

На диаграмме ниже показан пример преобразования десятичного числа 2545 в эквивалентное шестнадцатеричное число.

Ниже приведена реализация вышеуказанной идеи.

C ++

// C ++ программа для преобразования десятичной дроби
// число в шестнадцатеричное число

  
#include<iostream>

using namespace std;

  
// функция для преобразования десятичного числа в шестнадцатеричное

void decToHexa(int n)

{   

    // массив символов для хранения шестнадцатеричного числа

    char hexaDeciNum[100];

      

    // счетчик для массива шестнадцатеричных чисел

    int i = 0;

    while(n!=0)

    {   

        // временная переменная для хранения остатка

        int temp  = 0;

          

        // сохраняем остаток в переменной temp.

        temp = n % 16;

          

        // проверяем, если temp <10

        if(temp < 10)

        {

            hexaDeciNum[i] = temp + 48;

            i++;

        }

        else

        {

            hexaDeciNum[i] = temp + 55;

            i++;

        }

          

        n = n/16;

    }

      

    // печать массива шестнадцатеричных чисел в обратном порядке

    for(int j=i-1; j>=0; j--)

        cout << hexaDeciNum[j];

}

  
// Программа драйвера для проверки вышеуказанной функции

int main()

{

    int n = 2545;

      

    decToHexa(n);

      

    return 0;

}

Джава

// Java-программа для преобразования десятичной дроби
// число в шестнадцатеричное число

import java.io.*;

  

class GFG 

{

    // функция для преобразования десятичного числа в шестнадцатеричное

    static void decToHexa(int n)

    {   

        // массив символов для хранения шестнадцатеричного числа

        char[] hexaDeciNum = new char[100];

       

        // счетчик для массива шестнадцатеричных чисел

        int i = 0;

        while(n!=0)

        {   

            // временная переменная для хранения остатка

            int temp  = 0;

           

            // сохраняем остаток в переменной temp.

            temp = n % 16;

           

            // проверяем, если temp <10

            if(temp < 10)

            {

                hexaDeciNum[i] = (char)(temp + 48);

                i++;

            }

            else

            {

                hexaDeciNum[i] = (char)(temp + 55);

                i++;

            }

           

            n = n/16;

        }

       

        // печать массива шестнадцатеричных чисел в обратном порядке

        for(int j=i-1; j>=0; j--)

            System.out.print(hexaDeciNum[j]);

    }

      

    // драйверная программа

    public static void main (String[] args) 

    {

        int n = 2545;

        decToHexa(n);

    }

}

  
// Предоставлено Прамод Кумар

python3

# Python3 программа для
# преобразовать десятичную
# число в шестнадцатеричном
# число

  
# функция для преобразования
# десятичное в шестнадцатеричное

def decToHexa(n):

      

    # char массив для хранения

    # шестнадцатеричное число

    hexaDeciNum = ['0'] * 100;

      

    # счетчик для шестнадцатеричного

    # числовой массив

    i = 0;

    while(n != 0):

          

        # временная переменная

        # хранить остаток

        temp = 0;

          

        # хранение остатка

        # во временной переменной.

        temp = n % 16;

          

        # проверить, если температура <10

        if(temp < 10):

            hexaDeciNum[i] = chr(temp + 48);

            i = i + 1;

        else:

            hexaDeciNum[i] = chr(temp + 55);

            i = i + 1;

        n = int(n / 16);

          

    # печать шестнадцатеричного числа

    # массив в обратном порядке

    j = i - 1;

    while(j >= 0):

        print((hexaDeciNum[j]), end = "");

        j = j - 1;

  
Код водителя

n = 2545;

decToHexa(n);

      
# Этот код добавлен
# Митс.

C #

// C # программа для преобразования десятичной дроби
// число в шестнадцатеричное число

using System;

  

class GFG 

{

    // функция для преобразования десятичной дроби

    // в шестнадцатеричное

    static void decToHexa(int n)

    

        // массив символов для хранения

        // шестнадцатеричное число

        char []hexaDeciNum = new char[100];

      

        // счетчик для массива шестнадцатеричных чисел

        int i = 0;

        while(n != 0)

        

            // временная переменная в

            // сохраняем остаток

            int temp = 0;

          

            // сохраняем остаток в temp

            // переменная

            temp = n % 16;

          

            // проверяем, если temp <10

            if(temp < 10)

            {

                hexaDeciNum[i] = (char)(temp + 48);

                i++;

            }

            else

            {

                hexaDeciNum[i] = (char)(temp + 55);

                i++;

            }

          

            n = n / 16;

        }

      

        // печать шестнадцатеричного числа

        // массив в обратном порядке

        for(int j = i - 1; j >= 0; j--)

            Console.Write(hexaDeciNum[j]);

    }

      

    // Код драйвера

    public static void Main (String []args) 

    {

        int n = 2545;

        decToHexa(n);

    }

}

  
// Этот код предоставлен Нитином Митталом.

PHP

<?php
// PHP программа для конвертации
// десятичное число
// шестнадцатеричное число

  
// функция для преобразования
// десятичное в шестнадцатеричное

function decToHexa($n)

    // массив символов для хранения

    // шестнадцатеричное число

    $hexaDeciNum;

      

    // счетчик для шестнадцатеричного

    // массив чисел

    $i = 0;

    while($n != 0)

    

        // временная переменная

        // хранить остаток

        $temp = 0;

          

        // сохраняем остаток

        // во временной переменной.

        $temp = $n % 16;

          

        // проверяем, если temp <10

        if($temp < 10)

        {

            $hexaDeciNum[$i] = chr($temp + 48);

            $i++;

        }

        else

        {

            $hexaDeciNum[$i] = chr($temp + 55);

            $i++;

        }

          

        $n = (int)($n / 16);

    }

      

    // печать шестнадцатеричного числа

    // массив в обратном порядке

    for($j = $i - 1; $j >= 0; $j--)

        echo $hexaDeciNum[$j];

}

  
// Код драйвера

$n = 2545;

decToHexa($n);

  
// Этот код добавлен
// по миц.
?>


Выход:

9F1

Эта статья предоставлена Суровым Агарвалом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Программа для преобразования десятичных в шестнадцатеричные

0.00 (0%) 0 votes