Diferencia entre unsigned y unsigned int en C

1 minuto de lectura

avatar de usuario
thetna

¿Podría aclarar cuál es la diferencia entre unsigned y unsigned int? Tal vez algún código de ejemplo sería útil.

  • Prueba este código: unsigned int a=-1; printf("see as signed=%d\nsee as unsigned=%u\n", a, a);

    – Stan

    24 de agosto de 2011 a las 14:12

unsigned es un modificador que se puede aplicar a cualquier tipo integral (char, short, int, longetc.) pero por sí solo es idéntico a unsigned int.

No hay diferencia. unsigned y unsigned int ambos son sinónimos del mismo tipo (la versión sin firmar del int escribe).

unsigned solo significa int sin firmar. También puedes usar unsigned charetc. No tengo idea de lo que sucede si intentas unsigned double o unsigned float. ¿Alguien sabe?

  • El compilador le dirá que es un error. Ambas cosas double y float se definen a través de la documentación IEEE-754.

    – Stan

    24 de agosto de 2011 a las 14:09

  • @stan eso tiene sentido. Estaba imaginando el extraño comportamiento que ocurriría si de alguna manera double y float podría estar sin firmar. ¿Simplemente ignoraría el bit de signo? ¿Quizás agregar un poco de precisión al significado o algo así?

    – Daniel

    24 de agosto de 2011 a las 14:16


  • @Daniel: 6.2.5 pulgadas el estándar C99 es una buena lectura Básicamente dice que hay tipos flotantes y tipos enteros; y unsigned no coincide con ninguna parte de la especificación de tipos flotantes 🙂

    – pmg

    24 de agosto de 2011 a las 14:24

  • @Stan: permisos C float, doubley long double implementarse según lo especificado por IEEE 754, pero no lo requiere.

    –Keith Thompson

    30 de octubre de 2013 a las 4:12

sin firmar indica que es int sin firmar. Entonces son equivalentes.

Son exactamente lo mismo.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad