Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №1-1

.docx
Скачиваний:
2
Добавлен:
12.03.2022
Размер:
36.49 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА

Лабораторная работа

Бишкек 2022

Лабораторная работа №1

7. Программа перевода шестнадцатеричных чисел в двоичную систему счисления

Листинг кода:

public static int hetode(String dig) //в функцию hetode заходит B4 { String hexadecimal ="0123456789ABCDEF"; int m, num = 0; char lett; dig = dig.toUpperCase(); //введенный шестнадцетричный данные делает

заглавныеми буквами если ввели b4 то делает B4 num = 0; for(int k = 0; k < dig.length();k++) { lett = dig.charAt(k); //в переменную типа char входит наша первая буква

входных данных

то есть B и цифра 4 m = hexadecimal.indexOf(lett); //находит индекс в переменной

hexadecimal в нашем случае

буква B это 11 по индексу

и цифра 4 по индексу 4 num = 16 * num + m; //тут у нас складываются и умножаются

наши индексы в итоге получаем num = 180 } return num; //возвращаем цифру переменную num в которой находится цифра 180 } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите шестнадцатеричное число: "); String hexadecimalInput = scanner.nextLine(); int decimalNum, k = 1, d; int binaryNum [] = new int[50]; //Создает массив из 50 ячеек

наполненные нулями decimalNum = hetode(hexadecimalInput); //входное шестнадцетеричное число

передается в функцию и получаем

ответ от функции в виде цифры 180

которая находится внутри переменной num while(decimalNum != 0) { //цикл while пока данные в переменной

не будут равны 0 не остановится binaryNum[k++] = decimalNum % 2; //тут делится число 180 на 2

без остатка увеличивая каждый раз

переменную k = 9 decimalNum = decimalNum / 2; } System.out.println("Конвертированный двоичное число: "); for(d = k -1; d > 0; d--) { //тут цикл отработает 8 раз так как в

переменной

k = 9 - 1 = 8 => d System.out.print(binaryNum[d]); //выводим данные из массива binaryNum

по индексу } }

Фото результат: