Лабораторная работа №1-1
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА
Лабораторная работа
Бишкек 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
по индексу } }
Фото результат: