2010-12-01 4 views

ответ

4

Существует функция для печати двоичного значения в arch/parisc/kernel/traps.c, называемом printbinary(). Вы можете скопировать его в свой код (или просто связать его, если вы оказались на parisc). Лучше по-прежнему перемещать его где-то общее в дереве ядра, например. lib, и отправить патч на LKML.

6

Возможно попробовать гекс или восьмеричной:

printk("%02X", mybyte); 
printk("%03o", mybyte); 
+3

Hex (`% x`) и Octal (`% o`) являются хорошими вариантами для печати растровых изображений, поскольку каждая цифра соответствует фиксированному количеству бит (4 для шестнадцатеричных, 3 для восьмеричных). Это не займет много времени, пока вы не сможете быстро «увидеть» восьмеричные цифры в виде трехзначных двоичных эквивалентов. – caf 2010-12-03 04:18:32

1

printk использует Sprintf, который ведет себя идентично PRINTF. это означает, что вы не можете печатать в двоичном формате. Спецификатора формата для двоичного файла нет, поэтому вам нужно будет написать функцию самостоятельно. Вы можете использовать цикл для преобразования числа в строку его двоичного представления и затем распечатать эту строку.

Смежные вопросы