Можно ли распечатать в двоичном виде? - PullRequest
3 голосов
/ 01 декабря 2010

У меня есть растровое изображение, которое мне нужно отладить, и мне было бы намного проще напечатать число в двоичном, а не в десятичном виде. Я могу это сделать?

Ответы [ 3 ]

6 голосов
/ 01 декабря 2010

Возможно, попробуйте шестнадцатеричное или восьмеричное:

printk("%02X", mybyte);
printk("%03o", mybyte);
4 голосов
/ 01 декабря 2010

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

1 голос
/ 01 декабря 2010

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

...