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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como es que un unsigned tiene 16 bits?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como es que un unsigned tiene 16 bits?  (Leído 1,347 veces)
traviatØ

Desconectado Desconectado

Mensajes: 165



Ver Perfil
Como es que un unsigned tiene 16 bits?
« en: 24 Octubre 2012, 02:35 am »

Hola, sucede que estaba probando los operadores a nivel de bits de C,  he visto en varios lugares que utilizan variables unsigned para hacer operaciones a nivel de bits con C, ahora mi pregunta es, como es que los unsigned tienen 16 bits, si con el operador sizeof se muestra que un unsigned tiene 4 bytes que serian 4x8=32 bits? Saludos


En línea

                     
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como es que un unsigned tiene 16 bits?
« Respuesta #1 en: 24 Octubre 2012, 02:47 am »

Ese es el numero mínimo de bits pero nada impide (como es tu caso) que su numero sea mayor. Caso similar es el numero de bits por carácter, su mínimo es ocho pero es posible que sean mas, en caso de duda se puede utilizar la macro CHAR_BIT (su definición se encuentra en <limits.h>).

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
xiruko


Desconectado Desconectado

Mensajes: 437


Ver Perfil
Re: Como es que un unsigned tiene 16 bits?
« Respuesta #2 en: 24 Octubre 2012, 12:58 pm »

dependera de si es un entero, un entero corto, un tipo caracter, etc.

para que veas un ejemplo:

Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. unsigned int ui;
  6. unsigned short int usi;
  7. unsigned char uc;
  8.  
  9. printf("unsigned int: %lu bytes\n", sizeof(ui));
  10. printf("unsigned short int: %lu bytes\n", sizeof(usi));
  11. printf("unsigned char: %lu byte\n", sizeof(uc));
  12.  
  13. return 0;
  14. }

lo que dara una salida de:

Código:
unsigned int: 4 bytes
unsigned short int: 2 bytes
unsigned char: 1 byte

un saludo!
« Última modificación: 24 Octubre 2012, 12:59 pm por xiruko » En línea

Páginas: [1] 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,532 Último mensaje 23 Septiembre 2010, 15:13 pm
por tanychu
Como ejecutar una aplicación de VB3 (16 bits) en Windows 7 (64 bits)
Programación Visual Basic
Mr.Byte 2 6,968 Último mensaje 1 Agosto 2011, 16:33 pm
por Karcrack
Unsigned int en java?
Java
danielo- 4 3,829 Último mensaje 5 Septiembre 2011, 05:50 am
por [Case]
Estructura ARP a buffer unsigned char *
Programación C/C++
ahkbar87 3 2,248 Último mensaje 3 Febrero 2012, 01:44 am
por ahkbar87
unsigned int 8 , unsigned int 8 y demas [DUDA] « 1 2 »
Programación C/C++
bash 10 2,403 Último mensaje 9 Abril 2015, 20:08 pm
por bash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines