Има ли конвертор на printf за отпечатване в двоичен формат?
Мога да отпечатвам с printf като шестнадесетично или осмично число. Има ли етикет за формат, който да отпечатва като двоична или произволна база?
Работя с gcc.
printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"
400
3
Някои системи за изпълнение поддържат "%b", въпреки че това не е стандарт.
Също така вижте тук една интересна дискусия:
http://bytes.com/forum/thread591027.html
HTH
В стандартната библиотека на C няма функция за форматиране, която да извежда двоичен код по този начин. Всички операции за форматиране, които фамилията printf поддържа, са насочени към текст, който може да се чете от човека.
Няма стандартен и преносим начин.
Някои имплементации предоставят itoa(), но това няма да е в повечето, а и интерфейсът му е малко неудачен. Но кодът е зад връзката и би трябвало да ви позволи да реализирате свой собствен форматиращ модул доста лесно.