binary - true - que es un byte en informatica
¿Por qué un byte solo tiene de 0 a 255? (8)
Byte ≠ octeto
¿Por qué un byte solo varía de 0 a 255?
No lo hace
Un octeto tiene 8 bits, lo que permite 2 8 posibilidades. Un byte está mal definido. Uno no debe igualar los dos términos, ya que no son completamente intercambiables. Además, los lenguajes de programación maliciosos que solo admiten caracteres con signo (ʏᴏᴜ ᴋɴᴏw ᴡʜᴏ ʏᴏᴜ ᴀʀᴇ) solo pueden representar los valores −128 a 127, no de 0 a 255.
Big Iron tarda mucho tiempo en oxidarse.
La mayoría, pero no todas las máquinas modernas, tienen bytes de 8 bits, pero ese es un fenómeno relativamente reciente. Ciertamente no siempre ha sido así. Muchas computadoras muy tempranas tenían bytes de 4 bits, y los bytes de 6 bits fueron una vez comunes incluso recientemente en comparación. Ambos tipos de bytes tienen menos valores que 255.
Esos bytes de 6 bits podrían ser bastante convenientes, ya que con un tamaño de palabra de 36 bits, seis de esos bytes se integran perfectamente en una de esas palabras de 36 bits sin distorsión. Eso hizo que fuera muy útil para sostener Fieldata , utilizado por las muy populares computadoras Sperry ᴜɴɪᴠᴀᴄ . Solo puede encajar 4 ᴀsᴄɪɪ caracteres en una palabra de 36 bits, no 6 Fieldata. Tuvimos 1100 series en el centro de cómputo cuando era un estudiante universitario, pero esto sigue siendo cierto incluso con las 2200 series modernas.
Ingrese ASCII
ᴀsᴄɪɪ, que fue y es solo un código de 7 bits no es un código de 8 bits, allanó el camino para salir de ese mundo. La importancia de la ɪʙᴍ 360 , que tenía bytes de 8 bits independientemente de que tuvieran ᴀsᴄɪɪ o no, no debe ser subestimada.
Sin embargo, muchas máquinas soportaron durante mucho tiempo la Radix ‑ 50 . Este fue un repertorio de 40 caracteres en el que tres de sus caracteres podrían agruparse de manera eficiente en una sola palabra de 16 bits bajo dos esquemas de codificación distintos. Utilicé muchos ᴅᴇᴄ ᴘᴅᴘ ‑ 11s y Vaxen durante mis días de universidad, y el Rad ‑ 50 era simplemente un hecho de la vida, una realidad que tenía que ser acomodada.
¿Por qué un byte solo varía de 0 a 255?
¡Está usted equivocado! ¡Un byte varía de 0 a 63 o de 0 a 99!
¿Crees en God ? Dios dijo en la Santa Biblia .
La unidad básica de información es un byte. Cada byte contiene una cantidad de información no especificada, pero debe ser capaz de contener al menos 64 valores distintos. Es decir, sabemos que cualquier número entre 0 y 63, inclusive, puede estar contenido en un byte. Además, cada byte contiene a lo sumo 100 valores distintos. En una computadora binaria, un byte debe estar compuesto de seis bits; en una computadora decimal tenemos dos dígitos por byte. * - El Arte de la Programación de Computadoras, Volumen 1, escrito por Donald Knuth.
Y...
* Desde 1975 o algo así, la palabra "byte" significa una secuencia de ocho dígitos binarios, capaces de representar los números del 0 al 255. Los bytes del mundo real son, por lo tanto, más grandes que los bytes de la máquina MIX hipotética; de hecho, los bytes de estilo antiguo de MIX son apenas más grandes que nybbles. Cuando hablamos de bytes en relación con MIX, nos limitaremos al sentido anterior de la palabra, remontándonos a los días en que los bytes aún no estaban estandarizados. - The Art of Computer Programming, volumen 1, escrito por Donald Knuth.
:-)
Estrictamente hablando, el término "byte" en realidad puede referirse a una unidad con valores diferentes a 256. Es solo que ese es el tamaño casi universal . De Wikipedia :
Históricamente, un byte era el número de bits utilizados para codificar un solo carácter de texto en una computadora y es por esta razón el elemento direccionable básico en muchas arquitecturas de computadora.
El tamaño del byte ha sido históricamente dependiente del hardware y no existen estándares definitivos que impongan el tamaño. El estándar de facto de ocho bits es una potencia conveniente de dos que permite los valores de 0 a 255 para un byte. Muchos tipos de aplicaciones utilizan variables representables en ocho o menos bits, y los diseñadores de procesadores optimizan para este uso común. La popularidad de las principales arquitecturas de computación comercial ha ayudado a la aceptación ubicua del tamaño de 8 bits. El término octeto se definió para denotar explícitamente una secuencia de 8 bits debido a la ambigüedad asociada con el término byte.
Irónicamente, en estos días el tamaño de "un solo carácter" ya no se considera un solo byte en la mayoría de los casos ... más comúnmente, la idea de un "carácter" se asocia con Unicode, donde los caracteres se pueden representar en un número de diferentes formatos, pero suelen ser de 16 bits o 32.
Sería divertido para un sistema que usara UCS-4 / UTF-32 (la representación directa de Unicode de 32 bits) para designar 32 bits como un byte. La confusión causada sería espectacular.
Sin embargo, asumiendo que tomamos "byte" como sinónimo de "octeto", hay ocho bits independientes, cada uno de los cuales puede estar activado o desactivado, verdadero o falso, 1 o 0, sin embargo, usted desea pensar en ello. Esto lleva a 256 valores posibles, que normalmente están numerados del 0 al 255. (Sin embargo, no siempre es así. Por ejemplo, los diseñadores de Java decidieron tratar los bytes como enteros con signo en el rango de -128 a 127).
Hablando estrictamente, no es así.
En la mayoría de los sistemas modernos, un byte es de 8 bits binarios, pero en algunos sistemas no siempre fue así (muchas computadoras antiguas usaban 7 bits para representar caracteres ASCII (también conocidos como bytes), y los sistemas de tarjetas perforadas a menudo se basaban en caracteres de 6 bits ( aka bytes), por ejemplo).
Si está hablando de un byte de 8 bits, esto puede representar cualquier rango que desee. Sin embargo, solo puede representar 256 valores distintos , por lo que normalmente se usa para representar 0..255 ("byte sin signo") o -128 ... + 127 ("byte con signo").
Notaré que en la serie de computadoras PDP-10, un byte era una construcción de longitud variable, definida por un "puntero de byte" que definía el número de bits así como el desplazamiento desde el principio del área de almacenamiento. Luego había un conjunto de instrucciones de máquina para tratar con un puntero de byte, que incluía:
- LDB - Byte de carga
- DPB - Byte de depósito
- ILDB - Puntero de incremento, luego carga byte
- IDPB: puntero de incremento, luego Byte de depósito (espero que este sea el correcto, no se siente bien)
De hecho, un "byte" era lo que hoy llamaríamos un campo de bits. El uso de un puntero de byte para representar el siguiente en una serie de bytes del mismo tamaño fue solo uno de sus usos.
Algunos de los conjuntos de caracteres en uso fueron "sixbit" (solo en mayúsculas, seis bytes a una palabra de 36 bits), ASCII (mayúsculas y minúsculas, cinco bytes a una palabra, con un bit restante), y solo raramente EBCDIC (el conjunto de caracteres de IBM, que usaba cuatro bytes de ocho bits por palabra, dejando sin uso cuatro bits por palabra).
Porque un Wikipedia , según su definición estándar, es de 8 bits que pueden representar 256 valores (de 0 a 255).
Un byte tiene 8 bits (8 1 o 0) 01000111 = 71
cada bit representa un valor, 1,2,4,8,16,32,64,128 pero de derecha a izquierda?
ejemplo
128, 64, 32, 16, 8, 4, 2, 1,
0 1 0 0 0 1 1 1 =71
1 1 1 1 1 1 1 1 = max 255
0 0 0 0 0 0 0 0 = min 0
utilizando 1 ó 0 binarios y solo 8 bits (1 byte) solo podemos tener
1 de cada valor 1 X 128, 1 X 64,1 X 32, etc., lo que da un total máximo de 255 y un mínimo de 0
Un byte tiene solo 8 bits. Un bit es un dígito binario. Por lo tanto, un byte puede contener 2 (binarios) ^ 8 números que van de 0 a 2 ^ 8-1 = 255.
Es lo mismo que preguntar por qué un número decimal de 3 dígitos puede representar los valores del 0 al 999, que se responde de la misma manera (10 ^ 3 - 1).
Originalmente, los bytes no siempre eran de 8 bits. Representaron ''un par'' de bits que también podrían ser de 6, 7 o 9 bits. Más tarde se estandarizó y tuvo sentido hacer de esas unidades una potencia de dos, debido a la naturaleza binaria de la informática. De ahí vino el mordisco (4 bits, o medio byte) y el byte de 8 bits.
[editar] Es también por eso que la numeración octal y hexadecimal se hizo popular. Un número octal representa 3 bits y un número hexadecimal representa 4 bits. Por lo tanto, un número hexadecimal de dígitos puede representar exactamente un byte. Tiene mucho más sentido tener un número de 0 a 0xFF que de 0 a 255. :)