¿Cuál es la diferencia entre bytes y bits en las computadoras?
Así que primero tengo que hablar de las unidades básicas.
Un bit es un dígito binario, por ejemplo, 100011 son 6 bits.
Byte (byte) Esta es la unidad de tipo de datos más básica en las computadoras. 8 bits forman 1 byte.
Los dos bytes de una palabra se llaman palabra, por lo que la longitud de la palabra debe ser de 16 bits * * * dos bytes.
La palabra doble (DWORD para abreviar), como su nombre indica, son dos palabras, cuatro bytes, 32 bits.
En lenguaje C, cada tipo de datos tiene su longitud de almacenamiento. Y es diferente según plataformas específicas y compiladores específicos.
Debido a que la plataforma WIN32 se usa ampliamente, muchas personas usan Visual Studio para crear programas en C (yo usé Visual Studio 6.0 para aprender el lenguaje C), así que hablaré sobre esta situación (en Visual C 2005 intermedio). .
El tipo de carácter char ocupa 1 byte, es decir, 8 bits. Los datos de tipo char (como a, #,!, etc.) utilizan 1 byte para almacenarse.
Carácter sin signo El tipo de carácter sin signo ocupa 1 byte, que son 8 bits. Principalmente por compatibilidad con códigos ASCII extendidos. Debido a que char está representado por 8 bits, el rango de valores es -128-127 y el código ASCII extendido no se puede utilizar para representar un total de ***256 caracteres. Entonces, si el bit de signo más alto de los 8 bits también se usa para contar, puede representar exactamente 256 caracteres, y los caracteres sin signo representan el rango 0-255. Un número exacto de 256 puede corresponder a 256 caracteres ASCII, incluidos los códigos ASCII extendidos.
Los caracteres chinos se almacenan en la computadora mediante un código incorporado (un número), pero solo hay decenas de miles de caracteres chinos de uso común, que pueden representarse con 16 bits (es decir, 16 bits). de 2 equivale a 65536), por lo que los caracteres chinos se almacenan utilizando dos bytes. Cada dos bytes, es decir 16 bits, corresponde a un carácter chino.
Los datos enteros int ocupan 4 bytes o 32 bits, y la longitud de un dato int se almacena en 4 bytes.
Tipo entero corto El tipo entero corto ocupa 2 bytes, es decir 16 bits, dos bytes.
El entero largo ocupa 4 bytes, es decir, 32 son cuatro bytes.
El tipo de punto flotante flotante de precisión simple ocupa 4 bytes, es decir, 32 bits y 4 bytes.
El tipo de coma flotante doble-doble ocupa 8 bytes, es decir, 64 bits, 8 bytes.
Si no está utilizando el compilador de Visual Studio o programando en un entorno win32, la afirmación anterior puede ser incorrecta. Te sugiero que lo revises y uses int i = sizeof(char) o.
Sizeof(int) mira el valor de I. Si i == 4, significa que el tipo de datos actual ocupa cuatro bytes.