кодесурса

Упражнения на Java: преобразование шестнадцатеричного числа в восьмеричное число

script1adsense2code
script1adsense3code

Java Basic: упражнение 30 с решением

Напишите программу на Java для преобразования шестнадцатеричного числа в восьмеричное число.

Шестнадцатеричное число: Это позиционная система счисления с основанием или основанием, равным 16. Шестнадцатеричное число использует шестнадцать различных символов, чаще всего символы 0-9 для представления значений от нуля до девяти, и A, B, C, D, E, F (или альтернативно a, b, c, d, e, f) для представления значений от десяти до пятнадцати.

Восьмеричное число: восьмеричная система счисления - это система счисления base-8, в которой используются цифры от 0 до 7.

Тестовые данные:
Введите любое шестнадцатеричное число: 40

Иллюстрированная презентация: от шестнадцатеричного до восьмеричного числа


Пример решения:

Java-код:

import java.util.Scanner;
public class Exercise30 {
 public static int hex_to_decimal(String s)
    {
             String digits ="0123456789ABCDEF";
             s = s.toUpperCase();
             int val = 0;
             for (int i = 0; i < s.length(); i++)
             {
                 char c = s.charAt(i);
                 int d = digits.indexOf(c);
                 val = 16*val + d;
             }
             return val;
    }
    public static void main(String args[])
    {
        String hexdec_num;
        int dec_num, i=1, j;
        int octal_num[] = new int[100];
        Scanner in = new Scanner(System.in);
		
        System.out.print("Input a hexadecimal number: ");
        hexdec_num = in.nextLine();
        
        // Convert hexadecimal to decimal
        
        dec_num = hex_to_decimal(hexdec_num);
        
        //Convert decimal to octal
        
        while(dec_num != 0)
        {
            octal_num[i++] = dec_num%8;
            dec_num = dec_num/8;
        }
		
        System.out.print("Equivalent of octal number is: ");
        for(j=i-1; j>0; j--)
        {
            System.out.print(octal_num[j]);
        }
		System.out.print("\n");
    }
}

Пример вывода:

 Введите шестнадцатеричное число: 40                                                                                
Эквивалент восьмеричного числа: 100

Блок - схема:

«Блок-схема:

Редактор кода Java:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Java для преобразования шестнадцатеричного числа в двоичное число.
Далее: Напишите программу на Java, чтобы проверить, установлена ли Java на вашем компьютере.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code