Функция для перевода целого числа в 16-ую систему счисления - C (СИ)
Формулировка задачи:
Добрый день! Кто-то встречал или имеет функцию для перевода целого числа в 16-ую систему счисления?
Решение задачи: «Функция для перевода целого числа в 16-ую систему счисления»
textual
Листинг программы
void function(int a) { int mas[6]; int counter = 0; while(a > 0) { mas[counter] = a%16; a/=16; counter++; } for(int i=counter-1; i>=0; i--) { if(mas[i] == 10) printf("A"); else if(mas[i] == 11) printf("B"); else if(mas[i] == 12) printf("C"); else if(mas[i] == 13) printf("D"); else if(mas[i] == 14) printf("E"); else if(mas[i] == 15) printf("F"); else printf("%d", mas[i]); } printf("\n"); }
Объяснение кода листинга программы
- Создается массив целых чисел mas[6]
- Инициализируется переменная counter = 0
- Запускается цикл while, который выполняется до тех пор, пока a больше 0
- В каждой итерации цикла значение a делится на 16 и записывается в массив mas[counter] остаток от деления
- Переменная a обновляется, путем деления на 16
- Переменная counter увеличивается на 1
- После окончания цикла while, запускается цикл for, который выполняется от counter-1 до 0, включительно
- В каждой итерации цикла проверяется значение mas[i] и выводится соответствующая буква
- Значение mas[i] равно 10 - выводится
A
- Значение mas[i] равно 11 - выводится
B
- Значение mas[i] равно 12 - выводится
C
- Значение mas[i] равно 13 - выводится
D
- Значение mas[i] равно 14 - выводится
E
- Значение mas[i] равно 15 - выводится
F
- Значение mas[i] не равно 10, 11, 12, 13, 14 или 15 - выводится значение mas[i]
- Цикл for завершается
- Выводится символ новой строки
\n
- Функция заканчивается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д