Solución:
Byte: Hoy, un byte es casi siempre de 8 bits. Sin embargo, ese no fue siempre el caso y no hay un “estándar” o algo que dicte esto. Dado que 8 bits es un número conveniente para trabajar, se convirtió en el estándar de facto.
Palabra: El tamaño natural con el que un procesador está manejando los datos (el tamaño del registro). Los tamaños de palabra más comunes que se encuentran en la actualidad son 8, 16, 32 y 64 bits, pero son posibles otros tamaños. Por ejemplo, había algunas máquinas de 36 bits o incluso máquinas de 12 bits.
los byte es la unidad direccionable más pequeña para una CPU. Si desea establecer / borrar bits individuales, primero debe obtener el byte correspondiente de la memoria, jugar con los bits y luego escribir el byte en la memoria.
los palabra por el contrario, es la mayor cantidad de bits con los que un procesador puede procesar (como sumar y restar) a la vez. Esa definición es un poco confusa, ya que algunos procesadores pueden tener diferentes tamaños de palabras para diferentes tareas (procesamiento de números enteros o de coma flotante, por ejemplo). El tamaño de la palabra es lo que mayoria de las operaciones con las que trabaja.
También hay algunos procesadores que tienen diferentes puntero tamaño: por ejemplo, el 8086 es un procesador de 16 bits, lo que significa que sus registros tienen un ancho de 16 bits. Pero sus punteros (direcciones) tienen 20 bits de ancho y se calcularon combinando dos registros de 16 bits de cierta manera.
Lo que no entiendo es cuál es el punto de tener un byte. ¿Por qué no decir 8 bits?
Aparte del punto técnico de que un byte no es necesariamente de 8 bits, las razones para tener un término es la simple naturaleza humana:
-
economía de esfuerzo (también conocida como pereza) – es más fácil para decir “byte” en lugar de “ocho bits”
-
tribalismo: a grupos de personas les gusta usar jerga / un lenguaje privado para diferenciarlos de los demás.
Sólo déjate llevar. No va a cambiar más de 50 años de terminología de TI acumulada y bagaje cultural quejándose de ello.
FWIW: el término correcto para usar cuando se refiere a “8 bits independientes de la arquitectura del hardware” es “octeto”.
BYTE
Estoy tratando de responder a esta pregunta desde la perspectiva de C ++.
El estándar C ++ define ‘byte’ como “Unidad direccionable de datos lo suficientemente grande como para contener cualquier miembro del conjunto de caracteres básico del entorno de ejecución”.
Lo que esto significa es que el byte consta de al menos suficientes bits adyacentes para acomodar el juego de caracteres básico para la implementación. Es decir, el número de valores posibles debe ser igual o superior al número de caracteres distintos. En los Estados Unidos, los juegos de caracteres básicos son generalmente los juegos ASCII y EBCDIC, cada uno de los cuales puede ser acomodado por 8 bits. Por tanto, se garantiza que un byte tendrá al menos 8 bits.
En otras palabras, un byte es la cantidad de memoria necesaria para almacenar un solo carácter.
Si desea verificar el ‘número de bits’ en su implementación de C ++, verifique el archivo ‘limits.h’. Debería tener una entrada como la siguiente.
#define CHAR_BIT 8 /* number of bits in a char */
PALABRA
Una palabra se define como un número específico de bits que la máquina / sistema puede procesar juntos (es decir, en un intento). Alternativamente, podemos decir que Word define la cantidad de datos que se pueden transferir entre la CPU y la RAM en una sola operación.
Los registros de hardware en una máquina de computadora tienen el tamaño de una palabra. El tamaño de Word también define la dirección de memoria más grande posible (cada dirección de memoria apunta a una memoria del tamaño de un byte).
Nota: en los programas C ++, las direcciones de memoria apuntan a un byte de memoria y no a una palabra.