Има ли конвертор на printf за отпечатване в двоичен формат?

Мога да отпечатвам с printf като шестнадесетично или осмично число. Има ли етикет за формат, който да отпечатва като двоична или произволна база?

Работя с gcc.

printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"

Някои системи за изпълнение поддържат "%b", въпреки че това не е стандарт.

Също така вижте тук една интересна дискусия:

http://bytes.com/forum/thread591027.html

HTH

Коментари (1)

В стандартната библиотека на C няма функция за форматиране, която да извежда двоичен код по този начин. Всички операции за форматиране, които фамилията printf поддържа, са насочени към текст, който може да се чете от човека.

Коментари (0)

Няма стандартен и преносим начин.

Някои имплементации предоставят itoa(), но това няма да е в повечето, а и интерфейсът му е малко неудачен. Но кодът е зад връзката и би трябвало да ви позволи да реализирате свой собствен форматиращ модул доста лесно.

Коментари (0)