elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  unsigned int 8 , unsigned int 8 y demas [DUDA]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: unsigned int 8 , unsigned int 8 y demas [DUDA]  (Leído 2,403 veces)
bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
unsigned int 8 , unsigned int 8 y demas [DUDA]
« en: 8 Abril 2015, 19:02 pm »

Buenas a todos !!
Me gustaria consultar si es posible que alguine me explique como puedo usar los tipos de datos :

Código
  1. unsigned int8 O uint8_t;
  2. unsigned int16 o uint16_t
  3.  
  4.  

se que puedo usar
Código
  1. #include<stdint.h>
  2.  

pero me gustaria por favor si es posible que alguine aqui me de una explicacion de uso y utilidad.


Gracias por todo!!


En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #1 en: 8 Abril 2015, 19:19 pm »

El número es el número de bits de la variable. int es un entero. La 'u' al principio es cuando es unsigned.

¿Las utilidades? Son variables, como otra variable cualquiera, pero de un tamaño fijo.


En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #2 en: 8 Abril 2015, 20:28 pm »

gracias por la respuesta !!

Entiendo eso pero como se que sin usar las variables definidas en un header estandar


por ejemplo:

Código
  1. typedef unsigned int 8 UINT8;
  2.  
Como me aseguro que sea de 8 bit y no mas , bueno quiero saber eso por que me tiene confundio , a parte digo de utilidad por que por ejemplo estoy viendo un tutorial de como hacer un emulador(si lo quizas es muy pronto pero tengo interes) y veo como el chico decide usar esos tipos de datos en vez de usar unsigned int y ya ..

eso me confunde un poco, me doy a entender?
Gracias
En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #3 en: 8 Abril 2015, 20:31 pm »

int puede ser de 16 o 32 bits, según el sistema.

En cambio, int32_t te asegura siempre que es de 32 bits. Si necesitas un tamaño fijo (como en los emuladores), usa esas variables. De hecho, yo te recomiendo usarlas siempre que el dato con el que trabajas tenga unos valores mínimos y máximos conocidos, simplemente porque es más preciso programarlo así.
En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #4 en: 8 Abril 2015, 20:41 pm »

jejejeje si es verdad tienes razon , pero mi pregunta es como puedo definirla yo ? he estado buscando como pero no he encontrado. quizas en el codigo fuente de gcc pueda conseguirla , es posible eso?

nota: cuando digo conseguirla es la respuesta.
En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #5 en: 8 Abril 2015, 20:52 pm »

Puedes ver el archivo stdint.h. Te pongo un fragmento:

Código
  1. /* 7.18.1.1  Exact-width integer types */
  2. typedef signed char int8_t;
  3. typedef unsigned char   uint8_t;
  4. typedef short  int16_t;
  5. typedef unsigned short  uint16_t;
  6. typedef int  int32_t;
  7. typedef unsigned   uint32_t;
  8. typedef long long  int64_t;
  9. typedef unsigned long long   uint64_t;
  10.  
  11. /* 7.18.1.2  Minimum-width integer types */
  12. typedef signed char int_least8_t;
  13. typedef unsigned char   uint_least8_t;
  14. typedef short  int_least16_t;
  15. typedef unsigned short  uint_least16_t;
  16. typedef int  int_least32_t;
  17. typedef unsigned   uint_least32_t;
  18. typedef long long  int_least64_t;
  19. typedef unsigned long long   uint_least64_t;
  20.  
  21. /*  7.18.1.3  Fastest minimum-width integer types
  22.  *  Not actually guaranteed to be fastest for all purposes
  23.  *  Here we use the exact-width types for 8 and 16-bit ints.
  24.  */
  25. typedef signed char int_fast8_t;
  26. typedef unsigned char uint_fast8_t;
  27. typedef short  int_fast16_t;
  28. typedef unsigned short  uint_fast16_t;
  29. typedef int  int_fast32_t;
  30. typedef unsigned  int  uint_fast32_t;
  31. typedef long long  int_fast64_t;
  32. typedef unsigned long long   uint_fast64_t;
En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #6 en: 9 Abril 2015, 16:32 pm »

Gracias por la respuesta esta muy bien pero
con este code por ejemplo:
Código
  1. typedef signed char int8_t;

como el compilador sabe que es solamente de 8 bit por cierto cuando trato de ponerle mas o me da un error o otros me dice que simplemente no se puede.


Gracias otra vez por respuesta.
En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #7 en: 9 Abril 2015, 16:38 pm »

cuando trato de ponerle mas o me da un error o otros me dice que simplemente no se puede.

¿Ponerle más qué a qué?
En línea

bash

Desconectado Desconectado

Mensajes: 258



Ver Perfil
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #8 en: 9 Abril 2015, 19:02 pm »

suena extrano !!

si pero si la variable se defiene como
Código
  1.  typedef unsing int  uint8_t;///donde  esta el 8
definiiendo o simplemente si quiero que mi definicion por ejemplo

Código
  1. typedef unsigned int MIUNSIGNEDINT; ////como se que esa es de 8 bit ?


me doy a neteder?
En línea

gracias por responder mis dudas
ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: unsigned int 8 , unsigned int 8 y demas [DUDA]
« Respuesta #9 en: 9 Abril 2015, 19:31 pm »

Para que sea de 8 bits, tendrás que darle un dato de 8 bits.

Código
  1. typedef unsigned char uint8_t;

char es de 8 bits. int es de 32 bits.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Unsigned int, en bucles infinitos...
Programación C/C++
tanychu 6 4,530 Último mensaje 23 Septiembre 2010, 15:13 pm
por tanychu
Unsigned int en java?
Java
danielo- 4 3,827 Último mensaje 5 Septiembre 2011, 05:50 am
por [Case]
Estructura ARP a buffer unsigned char *
Programación C/C++
ahkbar87 3 2,246 Último mensaje 3 Febrero 2012, 01:44 am
por ahkbar87
[duda] ¿Unsigned int de 64 bits?
Programación C/C++
oxydec 2 1,078 Último mensaje 29 Octubre 2012, 02:23 am
por rir3760
[Duda] Unsigned int y enumeraciones
Programación C/C++
xRodak 5 1,568 Último mensaje 6 Febrero 2014, 02:20 am
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines