我有一个我需要调试的位图,而且用二进制而不是十进制来打印数字会更容易。我可以这样做吗?
答案 0 :(得分:6)
也许尝试十六进制或八进制:
printk("%02X", mybyte);
printk("%03o", mybyte);
答案 1 :(得分:4)
有一个函数可以在arch/parisc/kernel/traps.c
中打印二进制值,称为printbinary()
。您可以将其复制到您的代码中(或者如果您碰巧在parisc上链接它)。更好的是仍然将其移动到内核树中的通用位置,例如。 lib
,并向LKML发送补丁。
答案 2 :(得分:1)
printk使用sprintf,其行为与printf相同。这意味着你不能用二进制打印。二进制文件没有格式说明符,因此您必须编写自己的函数。您可以使用循环将数字转换为其二进制表示的字符串,然后打印该字符串。