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 '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 CPU y RAM en una sola operación.
Los registros de hardware en una 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.