variable valor una lenguaje imprimir escribir entero con como caracteres arreglo c binary printf

valor - Cómo imprimir un número binario mediante printf



imprimir valor entero en c (2)

Posible duplicado:
¿Hay un convertidor de impresión para imprimir en formato binario?

Aquí está mi programa

#include<stdio.h> int main () { int i,a=2; i=~a; printf("a=%d/ni=%d/n",a,i); return 0; }

El resultado es

a=2 i=-3

Quiero que esto se imprima en binario. Hay% x,% o, y% d que son para números hexadecimales, octales y decimales, pero ¿para imprimir en binario en printf?


Aunque ANSI C no tiene este mecanismo, es posible usar itoa () como un acceso directo:

char buffer [33]; itoa (i,buffer,2); printf ("binary: %s/n",buffer);

Aquí está el origen:

itoa en referencia cplusplus

No es C estándar, pero K & R mencionó la implementación en el libro C, por lo que debería ser bastante común. Debería estar en stdlib.h.


printf () no es compatible directamente con eso. En cambio, debes hacer tu propia función.

Algo como:

while (n) { if (n & 1) printf("1"); else printf("0"); n >>= 1; } printf("/n");