Autor
|
Tema: unsigned int 8 , unsigned int 8 y demas [DUDA] (Leído 4,733 veces)
|
bash
Desconectado
Mensajes: 258
|
Buenas a todos !! Me gustaria consultar si es posible que alguine me explique como puedo usar los tipos de datos : unsigned int8 O uint8_t; unsigned int16 o uint16_t
se que puedo usar #include<stdint.h>
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
Mensajes: 3.412
ASMático
|
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
Mensajes: 258
|
gracias por la respuesta !! Entiendo eso pero como se que sin usar las variables definidas en un header estandar por ejemplo: typedef unsigned int 8 UINT8;
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
Mensajes: 3.412
ASMático
|
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
Mensajes: 258
|
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
Mensajes: 3.412
ASMático
|
Puedes ver el archivo stdint.h. Te pongo un fragmento: /* 7.18.1.1 Exact-width integer types */ typedef signed char int8_t; typedef unsigned char uint8_t; typedef short int16_t; typedef unsigned short uint16_t; typedef int int32_t; typedef unsigned uint32_t; typedef long long int64_t; typedef unsigned long long uint64_t; /* 7.18.1.2 Minimum-width integer types */ typedef signed char int_least8_t; typedef unsigned char uint_least8_t; typedef short int_least16_t; typedef unsigned short uint_least16_t; typedef int int_least32_t; typedef unsigned uint_least32_t; typedef long long int_least64_t; typedef unsigned long long uint_least64_t; /* 7.18.1.3 Fastest minimum-width integer types * Not actually guaranteed to be fastest for all purposes * Here we use the exact-width types for 8 and 16-bit ints. */ typedef signed char int_fast8_t; typedef unsigned char uint_fast8_t; typedef short int_fast16_t; typedef unsigned short uint_fast16_t; typedef int int_fast32_t; typedef unsigned int uint_fast32_t; typedef long long int_fast64_t; typedef unsigned long long uint_fast64_t;
|
|
|
En línea
|
|
|
|
bash
Desconectado
Mensajes: 258
|
Gracias por la respuesta esta muy bien pero con este code por ejemplo: 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
Mensajes: 3.412
ASMático
|
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
Mensajes: 258
|
suena extrano !! si pero si la variable se defiene como typedef unsing int uint8_t;///donde esta el 8
definiiendo o simplemente si quiero que mi definicion por ejemplo 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
Mensajes: 3.412
ASMático
|
Para que sea de 8 bits, tendrás que darle un dato de 8 bits. typedef unsigned char uint8_t;
char es de 8 bits. int es de 32 bits.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Unsigned int, en bucles infinitos...
Programación C/C++
|
tanychu
|
6
|
5,659
|
23 Septiembre 2010, 15:13 pm
por tanychu
|
|
|
Unsigned int en java?
Java
|
danielo-
|
4
|
4,775
|
5 Septiembre 2011, 05:50 am
por [Case]
|
|
|
Estructura ARP a buffer unsigned char *
Programación C/C++
|
ahkbar87
|
3
|
3,460
|
3 Febrero 2012, 01:44 am
por ahkbar87
|
|
|
[duda] ¿Unsigned int de 64 bits?
Programación C/C++
|
oxydec
|
2
|
2,073
|
29 Octubre 2012, 02:23 am
por rir3760
|
|
|
[Duda] Unsigned int y enumeraciones
Programación C/C++
|
xRodak
|
5
|
3,050
|
6 Febrero 2014, 02:20 am
por rir3760
|
|