Використання Специфікатор формату %x у printf ми можемо друкувати шістнадцяткові значення.
Якщо ви хочете надрукувати шістнадцяткову адресу деякої змінної, ви можете зробити це таким чином:
- #include <stdio.h>
- int main() {
- int k = 0;
- printf("Адреса k: %lx\n", (беззнаковий довгий) &k);
- повернути 0;
- }
Отже, щоб надрукувати шістнадцяткове число, вам просто потрібно візьміть число, яке ви хочете надрукувати, по 4 біти за раз, і перетворите його з цілого числа 0-15 на символи від «0» до «9», а потім від «A» до «F». Щоб отримати число 4 біти за раз, ви просто зсуваєте та маскуєте його, наприклад. uint8_t test = 0x3F //Це число, яке ми хочемо надрукувати.
Команда HEX відображає кожен рядок даних у трьох рядках. Один рядок є стандартним текстовим представленням даних, а два використовуються для шістнадцяткового представлення. Шістнадцяткове подання показано як дві цифри безпосередньо під кожним символом EBCDIC.
Щоб використовувати Java printf для форматування значень типу double і float із точністю до десяткового знака, дотримуйтесь цих двох правил:
- Використовуйте %f як подвійний специфікатор у текстовому рядку.
- Поставте перед літерою f десятковий кома та число, щоб указати точність.
%x. %x надрукує шістнадцятковий дроб маленькими літерами. Наприклад, aaff2, ffd тощо.