Diferencia entre revisiones de «Byte»

Contenido eliminado Contenido añadido
Pitxulin (discusión · contribs.)
Línea 1:
En [[computación]], un '''octeto''' (''octet'' en francés, derivado del [[latín]] ''octo'' y del [[Idioma griego|griego]] ''okto'', que significa ''ocho'') es un grupo de ocho [[bit]]s.
{{otros usos|Byte (revista)|la revista estadounidense de informática}}
'''Byte''' es una palabra inglesa (pronunciada <nowiki>[bait]</nowiki> o <nowiki>['bi.te]</nowiki>), que si bien la [[Real Academia Española]] ha aceptado como equivalente a '''[[octeto]]''' (es decir a ocho [[bit]]s), para fines correctos, un byte debe ser considerado como una secuencia de [[bit]]s contiguos, cuyo tamaño depende del [[código de información]] o [[código de caracteres]] en que sea definido.
 
Un octeto siempre se refiere a una cantidad formada exclusivamente por ocho bits. Como tal, es frecuentemente asociada como sinónimo de [[byte]] de forma errónea. Pese a que actualmente la mayoría de sistemas manejan submúltiplos de tamaño de palabra de ocho bits de longitud, históricamente los procesadores y computadores podían utilizar de cinco a doce bits dependiendo del fabricante. Para evitar ambigüedades y problemas, sobre todo con los [[Sistema heredado|sistemas heredados]], los estándares de computación recomiendan el uso del término ''octeto'' siempre que se haga referencia a cifras compuestas de grupos de ocho bits.
Se usa comúnmente como unidad básica de [[almacenamiento de datos]] en combinación con los prefijos de cantidad. Originalmente el byte fue elegido para ser un submúltiplo del tamaño de palabra de un ordenador, desde cinco a doce bits. La popularidad de la [[Arquitectura de computadores|arquitectura]] [[IBM S/360]] que empezó en los [[años 1960]] y la explosión de las [[microcomputadora]]s basadas en [[microprocesador]]es de 8 bits en los [[años 1980]] ha hecho obsoleta la utilización de otra cantidad que no sean 8 bits. El término "octeto" se utiliza ampliamente como un sinónimo preciso donde la ambigüedad es indeseable (por ejemplo, en definiciones de [[protocolo (informática)|protocolos]]).
 
En países [[Idioma francés|francófonos]] es muy común utilizar la palabra "octeto" (''octet''), mientras que en los [[Idioma inglés|anglosajones]] es más común "byte".
La unidad byte no tiene símbolo establecido internacionalmente, aunque en países anglosajones es frecuente la "B" mayúscula, mientras que en los francófonos es la "o" minúscula (de ''octet''); la [[Organización Internacional para la Estandarización|ISO]] y la [[Comisión Electrotécnica Internacional|IEC]] en la norma 80000-13:2008 recomiendan restringir el empleo de esta unidad a los octetos (bytes de 8&nbsp;bits).
 
== SignificadosNormalización ==
Los octetos pueden ser utilizados con los [[Prefijos del SI]] o con los [[Prefijos binarios]], tal y como estandarizó la [[Comisión_Electrotécnica_Internacional|CEI]] en 1998.
La palabra "byte" tiene numerosos significados íntimamente relacionados:
Su símbolo recomendado por la ''CEI'' es "'''o'''", aunque no forma parte del [[SI]].
 
# Una secuencia contigua de un número de [[bit]]s ''fijo''. La utilización de un byte de 8 bit ha llegado a ser casi ubicua.
# Una secuencia contigua de bits en una computadora binaria que comprende el ''sub-campo direccionable más pequeño'' del tamaño de palabra natural de la computadora. Esto es, la unidad de datos binarios más pequeña en que la computación es significativa, o se pueden aplicar las cotas de datos naturales. Por ejemplo, la [[serie CDC 6000]] de mainframes científicas dividió sus palabras de 60 bits de punto flotante en 10 bytes de seis bits. Estos bytes convenientemente colocados forman los datos [[Hollerith]] de las [[tarjetas perforadas]], típicamente el [[alfabeto]] de mayúsculas y los [[sistema de numeración decimal|dígitos decimales]]. El CDC también refiere cantidades de 12 bits como bytes, cada una albergando dos caracteres de 6 bits, debido a la arquitectura de E/S de 12 bits de la [[Computadora personal|máquina]]. El [[PDP-10]] utilizaba instrucciones de ensamblado de 12 bits LDB y DPB para extraer bytes—estas operaciones sobreviven hoy en el [[Common Lisp]]. Los bytes de 6, 7 ó 9 bits se han utilizado en algunas computadoras, por ejemplo en las palabras de 36 bits del [[PDP-10]]. Los ordenadores del [[UNIVAC 1100/2200 series]] (ahora [[Unisys]]) direccionaban los campos de datos de 6 bits y en modo [[Código ASCII|ASCII]] de 9 bits modes con su palabra de 36 bits.
 
* Basado en el prefijo del SI con potencias de 10:
== Historia ==
El término '''byte''' fue acuñado por [[Waner Buchholz]] en [[1957]] durante las primeras fases de diseño del [[IBM 7030 Stretch]]. Originalmente fue definido en instrucciones de 4 bits, permitiendo desde uno hasta dieciséis bits en un byte (el diseño de producción redujo este hasta campos de 3 bits, permitiendo desde uno a ocho bits en un byte). Los equipos típicos de E/S de este periodo utilizaban unidades de seis bits. Un tamaño fijo de byte de 8 bits se adoptó posteriormente y se promulgó como un estándar por el [[IBM S/360]]. El término "byte" viene de "bite" (en [[Idioma inglés|inglés]] "mordisco"), como la cantidad más pequeña de datos que un ordenador podía "morder" a la vez. El cambio de letra no solo redujo la posibilidad de confundirlo con "bit", sino que también era consistente con la afición de los primeros científicos en computación en crear palabras y cambiar letras. Sin embargo, en los [[años 1960]], en el Departamento de Educación de IBM del Reino Unido se enseñaba que un bit era un ''Binary digIT'' y un byte era un ''BinarY TuplE''. Un byte también se conocía como "un byte de 8 bits", reforzando la noción de que era una tupla de ''n'' bits y que se permitían otros tamaños.
 
{|
# Es una secuencia contigua de bits binarios en un flujo de datos serie, como en comunicaciones por módem o satélite, o desde un cabezal de disco duro, que es la unidad de datos más pequeña con significado. Estos bytes pueden incluir bits de inicio, parada o paridad y podrían variar de 7 a 12 bits para contener un código ASCII de 7 bits sencillo.
| 1 '''kiloocteto''' (ko) || = 10<sup>3</sup> octetos ||colspan="2"| = {{formatnum:1000}} octetos
# Es un ''[[tipo de datos]]'' o un sinónimo en ciertos [[Lenguaje de programación|lenguajes de programación]]. [[C (lenguaje de programación)|C]], por ejemplo, define ''byte'' como "unidad de datos de almacenamiento direccionable lo suficientemente grande para albergar cualquier miembro del juego de caracteres básico del entorno de ejecución" (cláusula 3.6 del C estándar). En C el tipo de datos <code>unsigned char</code> tiene que al menos ser capaz de representar 256 valores distintos (cláusula 5.2.4.2.1). La primitiva de [[Lenguaje de programación Java|Java]] <code>byte</code> está siempre definida con 8 bits siendo un tipo de datos con signo, tomando valores entre –128 y 127.
 
Los primeros microprocesadores, como el [[Intel 8008]] (el predecesor directo del 8080 y el [[Intel 8086]]) podían realizar un número pequeño de operaciones en [[4 bits]], como la instrucción DAA (ajuste decimal) y el flag "half carry" que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de cuatro bits se llamaron "[[nibble]]s" en honor al equivalente de 8 bits "bytes".
 
== Palabras alternativas ==
Los bytes de 8 bits a menudo se llaman "octetos" en contextos formales como los estándares industriales, así como en [[redes informáticas]] y [[telecomunicaciones]] para evitar confusiones sobre el número de bits implicados. Sin embargo, los bytes de 8 bits se integran firmemente en estándares comunes como [[Ethernet]] y [[HTML]]. Un octeto es también la palabra utilizada para la cantidad de ocho bits en muchos lenguajes no ingleses.
 
La mitad de un byte de ocho bits se llama [[nibble]] o un dígito hexadecimal. El nibble a menudo se llama semiocteto en redes o telecomunicaciones y también por algunas organizaciones de estandarización. Además, una cantidad de 2 bits se llama ''[[crumb]]'', aunque raramente se utiliza.
 
== Abreviaturas y símbolos ==
El [[IEEE 1541]] y el [http://swiss.csail.mit.edu/~jaffer/MIXF MIXF] especifican "B" como el símbolo para el byte (por ejemplo, MB significa megabyte), mientras que el [[IEC 60027]] permanece en silencio en este tema. Además, B significa [[bel]], una unidad logarítmica utilizada en el mismo campo.
 
El IEEE 1541 especifica "b" (minúscula) como el símbolo para [[bit]]; sin embargo la [[Comisión Electrotécnica Internacional|IEC]] 60027 y el MIXF especifican "bit" (por ejemplo Mbit para megabit), teniendo la máxima desambiguación posible de byte. "b" vs. "B": la confusión parece ser suficientemente común para haber inspirado la creación de una página web dedicada [http://www.bisnotb.com b no es B].
 
Los países francófonos utilizan una "o" minúscula para "octeto": es posible referirse a estas unidades indistintamente como ko, Mo, o kB, MB. Esto no se permite en el [[Sistema Internacional de Unidades|SI]] por el riesgo de confusión con el cero, aunque esa es la forma empleada en la versión francesa del estándar ISO/IEC 80000-13:2008.
 
== Nombres para diferentes unidades ==
{{Unidades de información}}
Los prefijos usados para medidas de byte normalmente son los mismos que los [[prefijos del SI]] utilizados para otras medidas, pero tienen valores ligeramente distintos. Se basan en potencias de 1024 (2<sup>10</sup>), un número binario conveniente, mientras que los prefijos del SI se basan en potencias de 1000 (10<sup>3</sup>), un número decimal conveniente. La tabla inferior ilustra estas diferencias. Ver [[Prefijo binario]] para una discusión mayor.
 
{| class=wikitable
|-
| 1 '''megaocteto''' (Mo) || = 10<sup>6</sup> octetos || = {{formatnum:1000}} ko || = {{formatnum:1000000}} octetos
! Nombre !! Abrev. !! Factor binario !! Tamaño en el SI
|-
| 1 '''gigaocteto''' (Go) || = 10<sup>9</sup> octetos || = {{formatnum:1000}} Mo || = {{formatnum:1000000000}} octetos
| [[bytes]] || B || 2<sup>0</sup> = 1
| 10<sup>0</sup> = 1
|-
| 1 '''teraocteto''' (To) || = 10<sup>12</sup> octetos || = {{formatnum:1000}} Go || = {{formatnum:1000000000000}} octetos
| [[kilo]] || k || 2<sup>10</sup> = 1024
| 10<sup>3</sup> = 1000
|-
| 1 '''petaocteto''' (Po) || = 10<sup>15</sup> octetos || = {{formatnum:1000}} To || = {{formatnum:1000000000000000}} octetos
| [[mega]] || M
| 2<sup>20</sup> = 1&nbsp;048&nbsp;576
| 10<sup>6</sup> = 1&nbsp;000&nbsp;000
|-
| [[giga]] || G
| 2<sup>30</sup> = 1&nbsp;073&nbsp;741&nbsp;824
| 10<sup>9</sup> = 1&nbsp;000&nbsp;000&nbsp;000
|-
| [[tera (prefijo)|tera]] || T
| 2<sup>40</sup> = 1&nbsp;099&nbsp;511&nbsp;627&nbsp;776
| 10<sup>12</sup> = 1&nbsp;000&nbsp;000&nbsp;000&nbsp;000
|-
| [[peta (prefijo)|peta]] || P
| 2<sup>50</sup> = 1&nbsp;125&nbsp;899&nbsp;906&nbsp;842&nbsp;624
| 10<sup>15</sup> = 1&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000
|-
| [[exa]] || E
| 2<sup>60</sup> = 1&nbsp;152&nbsp;921&nbsp;504&nbsp;606&nbsp;846&nbsp;976
| 10<sup>18</sup> = 1&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000
|-
| [[zetta]] || Z
| 2<sup>70</sup> = 1&nbsp;180&nbsp;591&nbsp;620&nbsp;717&nbsp;411&nbsp;303&nbsp;424
| 10<sup>21</sup> = 1&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000
|-
| [[yotta]] || Y
| 2<sup>80</sup> = 1&nbsp;208&nbsp;925&nbsp;819&nbsp;614&nbsp;629&nbsp;174&nbsp;706&nbsp;176
| 10<sup>24</sup> = 1&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000&nbsp;000
|}
 
En 1998 fue creado un nuevo [[Prefijo binario|sistema de prefijos para denotar múltiplos binarios]] por la [[Comisión Electrotécnica Internacional|IEC]]. Oficialmente, el padrón IEC especifica que los prefijos del SI son usados solamente para múltiplos en [[Sistema de numeración decimal|base 10 (Sistema decimal)]] y nunca [[Sistema binario|base 2 (Sistema binario)]].
 
* Basado en el prefijo binario de la CEI en potencias de 2:
{| class=wikitable
 
|+ Nuevo padrón de prefijos IEC
{|
| 1 '''kibiocteto''' (Kio) || = 2<sup>10</sup> octetos ||colspan="2"| = {{formatnum:1024}} octetos
|-
| 1 '''mebiocteto''' (Mio) || = 2<sup>20</sup> octetos || = {{formatnum:1024}} Kio || = {{formatnum:1048576}} octetos
! Nombre !! Abrev. !! Factor
|-
| kibi1 ||'''gibiocteto''' Ki(Gio) || = 2<sup>1030</sup> octetos || = {{formatnum:1024}} Mio || = {{formatnum:1073741824}} octetos
|-
| 1 '''tebiocteto''' (Tio) || = 2<sup>40</sup> octetos || = {{formatnum:1024}} Gio || = {{formatnum:1099511627776}} octetos
| mebi || Mi
| 2<sup>20</sup> = 1&nbsp;048&nbsp;576
|-
| 1 '''pebiocteto''' (Pio) || = 2<sup>50</sup> octetos || = {{formatnum:1024}} Tio || = {{formatnum:1125899906842624}} octetos
| gibi || Gi
| 2<sup>30</sup> = 1&nbsp;073&nbsp;741&nbsp;824
|-
| 1 '''exbiocteto''' (Eio) || = 2<sup>60</sup> octetos || = {{formatnum:1024}} Pio || = {{formatnum:1152921504606846976}} octetos
| tebi || Ti
| 2<sup>40</sup> = 1&nbsp;099&nbsp;511&nbsp;627&nbsp;776
|-
| 1 '''zebiocteto''' (Zio) || = 2<sup>70</sup> octetos || = {{formatnum:1024}} Eio || = {{formatnum:1180591620717411303424}} octetos
| pebi || Pi
| 2<sup>50</sup> = 1&nbsp;125&nbsp;899&nbsp;906&nbsp;842&nbsp;624
|-
| 1 '''yobiocteto''' (Yio) || = 2<sup>80</sup> octetos || = {{formatnum:1024}} Zio || = {{formatnum:1208925819614629174706176}} octetos
| exbi || Ei
| 2<sup>60</sup> = 1&nbsp;152&nbsp;921&nbsp;504&nbsp;606&nbsp;846&nbsp;976
|}
 
La información fraccional normalmente se mide en [[bit]]s, [[nibble]]s, nats o bans, donde las últimas dos se utilizan especialmente en el contexto de la [[teoría de la información]] y no se utilizan en otros campos de la computación.
 
== Véase también ==
*[[Prefijos binarios]]
* [[Tipos de datos máquina]]
 
[[Categoría:Unidades de información]]
[[Categoría:Acrónimos de informática]]
 
[[ar:ثمانية (حوسبة)]]
[[af:Greep]]
[[be-x-old:Актэт (інфарматыка)]]
[[ar:بايت]]
[[astbr:ByteEizhbit]]
[[de:Oktett (Informatik)]]
[[az:Bayt]]
[[en:Octet (computing)]]
[[be-x-old:Байт]]
[[bgfr:БайтOctet]]
[[hr:Oktet (računarstvo)]]
[[bn:বাইট]]
[[ja:オクテット (コンピュータ)]]
[[bs:Bajt]]
[[cako:Byte옥텟 (전산)]]
[[lv:Oktets (informātika)]]
[[cs:Byte]]
[[dann:Byte i informatikk]]
[[deno:ByteOktett (data)]]
[[pl:Oktet (informatyka)]]
[[el:Byte]]
[[enro:ByteOctet]]
[[ru:Октет (информатика)]]
[[eo:Bitoko]]
[[etsimple:BaitOctet]]
[[sv:Oktett (datavetenskap)]]
[[eu:Byte]]
[[uk:Октет (інформатика)]]
[[fa:بایت]]
[[zh:八位元組]]
[[fi:Tavu (tietotekniikka)]]
[[fr:Byte]]
[[ga:Beart (ríomhaireacht)]]
[[gl:Byte]]
[[he:בית (מחשב)]]
[[hi:बाइट]]
[[hr:Bajt]]
[[hu:Byte]]
[[ia:Byte]]
[[id:Bita]]
[[is:Bæti]]
[[it:Byte]]
[[ja:バイト (情報)]]
[[ka:ბაიტი]]
[[kk:Байт]]
[[ko:바이트]]
[[lb:Byte]]
[[lo:ໄບຕ໌]]
[[lt:Baitas]]
[[lv:Baits]]
[[mhr:Байт]]
[[mk:Бајт]]
[[ml:ബൈറ്റ്]]
[[ms:Bait]]
[[nl:Byte]]
[[no:Byte]]
[[pl:Bajt]]
[[pnb:بائٹ]]
[[pt:Byte]]
[[ru:Байт]]
[[scn:Byte]]
[[simple:Byte]]
[[sk:Bajt]]
[[sl:Bajt]]
[[sr:Бајт]]
[[sv:Byte (enhet)]]
[[tg:Байт]]
[[th:ไบต์]]
[[tr:Bayt]]
[[uk:Байт]]
[[ur:لکمہ]]
[[vi:Byte]]
[[zh:字节]]