Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: 3354f0bd6d
Fetching contributors…

Cannot retrieve contributors at this time

463 lines (418 sloc) 17.833 kB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta name="author" content="Juan Reyero"/>
<link rel="alternate" type="application/atom+xml" href="http://feeds.feedburner.com/GreaterSkies" title="RSS feed" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
html { font-family: Times, serif; font-size: 12pt; }
.title { text-align: center; }
.todo { color: red; }
.done { color: green; }
.tag { background-color: #add8e6; font-weight:normal }
.target { }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
p.verse { margin-left: 3% }
pre {
border: 1pt solid #AEBDCC;
background-color: #F3F5F7;
padding: 5pt;
font-family: courier, monospace;
font-size: 90%;
overflow:auto;
}
table { border-collapse: collapse; }
td, th { vertical-align: top; }
dt { font-weight: bold; }
div.figure { padding: 0.5em; }
div.figure p { text-align: center; }
.linenr { font-size:smaller }
.code-highlighted {background-color:#ffff00;}
.org-info-js_info-navigation { border-style:none; }
#org-info-js_console-label { font-size:10px; font-weight:bold;
white-space:nowrap; }
.org-info-js_search-highlight {background-color:#ffff00; color:#000000;
font-weight:bold; }
/*]]>*/-->
</style>
<link rel='stylesheet' type='text/css' media='screen'
href='/style/org.css'/>
<!--[if lt IE 7]>
<script language='JavaScript'>
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
var arVersion = navigator.appVersion.split('MSIE')
var version = parseFloat(arVersion[1])
if ((version >= 5.5) && (document.body.filters))
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == 'PNG')
{
var imgID = (img.id) ? 'id=\"' + img.id + '\" ' : ''
var imgClass = (img.className) ? 'class=\"' + img.className +
'\" ' : ''
var imgTitle = (img.title) ? 'title=\"' + img.title + '\" ' :
'title=\"' + img.alt + '\" '
var imgStyle = 'display:inline-block;' + img.style.cssText
if (img.align == 'left') imgStyle = 'float:left;' + imgStyle
if (img.align == 'right') imgStyle = 'float:right;' + imgStyle
if (img.parentElement.href) imgStyle = 'cursor:hand;' + imgStyle
var strNewHTML = '<span ' + imgID + imgClass + imgTitle
+ ' style=\"' + 'width:' + img.width + 'px; height:' + img.height + 'px;' + imgStyle + ';'
+ 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader'
+ '(src=\"' + img.src + '\", sizingMethod=\"scale\");\"></span>'
img.outerHTML = strNewHTML
i = i-1
}
}
}
}
window.attachEvent('onload', correctPNG);
</script>
<![endif]-->
<script type="text/javascript">
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
<div id="wrapper">
<div id="mainhead">
<a id="backhome" href='/es/' >
Greater Skies
&nbsp;&larr;</a>
</div><br/>
<div id="mainrelated">
<a href="http://feeds.feedburner.com/GreaterSkies-es"><img src="/img/rss.png"/>&nbsp;Suscríbete</a><br/>
<a href="/es/archivo.html">Archivo</a><br/>
<div id="license">
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/es/88x31.png" /></a><br />Esta obra est&#225; bajo una <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/es/">licencia de Creative Commons</a>.
</div>
</div>
<div id="content">
<p>
<div id="related">
También <a href="../../math/six-times-nine/stn-es.html">¿Por qué es seis veces nueve igual a nueve veces seis?</a>
</div>
</p>
<div id="outline-container-1" class="outline-2">
<h2 id="sec-1"><a name="Los==gigas==de==los==discos" class="target">Los gigas de los discos</a> </h2>
<div class="outline-text-2" id="text-1">
<p>Le voy a tener que comprar un <i>pen drive</i> a Juan Manuel. Por
lo visto en el colegio usan cada vez más el ordenador, y tienen
que llevar ficheros de un lado a otro. Esta noche, mientras
cenábamos, le he preguntado de qué capacidad pensaba que lo
necesitaba. "No lo sé, pero grande. Al menos cinco o seis
gigas". "Pero ¿para qué quieres tanto giga?" "No lo sé. Es
que no sé qué es un giga".
</p>
<p>
Un giga son mil millones de <i>bytes</i>, más o menos. ¿Y qué es un
<i>byte</i>? Ocho bits. Y ¿un bit?
</p>
</div>
<div id="outline-container-1.1" class="outline-3">
<h3 id="sec-1.1">Un bit </h3>
<div class="outline-text-3" id="text-1.1">
<p>Un bit es algo que puede estar de dos formas, por ejemplo
encendido o apagado. Imagina que quieres comunicarte con
Martín, que vive en una casa en la colina de enfrente. No
hay teléfono, pero tenéis una lámpara en la ventana. Martín
ve si la lámpara en tu ventana está encendida o apagada.
</p>
<p>
¿Qué mensajes le podrías pasar? Os tendríais que poner de
acuerdo antes sobre lo que quiere decir la lámpara: si hoy
está encendida es que sí, si está apagada es que no;
encendida es que el resultado del examen es 23, como habíamos
hablado, apagada es que no lo es; encendida es que les he
dicho a mis padres que iba a tu casa cuando en realidad he
ido al billar, apagada es que me he quedado a dormir. Si lo
que quisieras comunicar fuera un número (por ejemplo, la
clave con que has encriptado el mensaje secreto que le mandas
por paloma mensajera) sólo podrías poner dos, que habríais
acordado de antemano: 235 si encendida, 1653 si apagada; o
uno si encendida, cero si apagada.
</p>
</div>
<div id="outline-container-1.1.1" class="outline-4">
<h4 id="sec-1.1.1">Dos bits </h4>
<div class="outline-text-4" id="text-1.1.1">
<p>Una lámpara en la ventana da mucho juego, pero seguramente
con dos lámparas podrías hacer mucho más. ¿Cuánto más?
Una lámpara puede estar de dos maneras, pero dos lámparas
pueden estar de cuatro maneras:
</p><table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides" class="center">
<caption></caption>
<colgroup><col align="left" /><col align="left" />
</colgroup>
<thead>
<tr><th scope="col">lámpara 1</th><th scope="col">lámpara 2</th></tr>
</thead>
<tbody>
<tr><td>apagada</td><td>apagada</td></tr>
<tr><td>apagada</td><td>encendida</td></tr>
<tr><td>encendida</td><td>apagada</td></tr>
<tr><td>encendida</td><td>encendida</td></tr>
</tbody>
</table>
Supón que queréis comunicaros un número. Por ejemplo,
imagina que le quieres decir en qué canal de la tele están
dando el programa que estás viendo, para poderlo comentar
al día siguiente. Os tendríais que poner de acuerdo en lo
que significan las combinaciones de lámparas: las dos
apagadas podría representar un uno, la de la izquierda
apagada y la de la derecha encendida podría ser un dos,
encendida y apagada un tres, y las dos encendidas un
cuatro.
<p>
En el patio de la tarde os pondríais de acuerdo en el
código a usar durante la noche. Pronto os cansaríais de
escribir "apagada" y "encendida" en la hoja de códigos, y
decidiríais una abreviatura: por ejemplo, apagada es un 0,
y encendida un 1. El código de un día tendría esta pinta:
</p><table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides" class="center">
<caption></caption>
<colgroup><col align="right" /><col align="right" /><col align="left" />
</colgroup>
<tbody>
<tr><td>0</td><td>0</td><td>uno</td></tr>
<tr><td>0</td><td>1</td><td>dos</td></tr>
<tr><td>1</td><td>0</td><td>tres</td></tr>
<tr><td>1</td><td>1</td><td>cuatro</td></tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-1.1.2" class="outline-4">
<h4 id="sec-1.1.2">Tres bits </h4>
<div class="outline-text-4" id="text-1.1.2">
<p>Pero resulta que hay más de cuatro canales en la tele.
Supón que decidís invertir en otra lámpara. ¿Cuántos
números diferentes se pueden hacer con tres lámparas?
¿Cuántas líneas puede tener ahora vuestra tabla de códigos?
</p>
<p>
Piénsatelo despacito. No mires el siguiente párrafo.
Intenta construirlos todos. Hay una solución muy bonita, y
muy sencilla.
</p>
<p>
Con la lámpara nueva apagada, las dos antiguas pueden estar
de cuatro formas diferentes. Con la lámpara nueva
encendida, las dos antiguas también pueden estar de cuatro
formas diferentes. En total, las tres lámparas pueden
estar de ocho formas diferentes: las cuatro de las dos
viejas con la nueva apagada, y las cuatro de las dos viejas
con la nueva encendida.
</p><table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides" class="center">
<caption></caption>
<colgroup><col align="right" /><col align="right" /><col align="left" />
</colgroup>
<tbody>
<tr><td>0</td><td>0</td><td><span style="text-decoration:underline;">0</span></td></tr>
<tr><td>0</td><td>1</td><td><span style="text-decoration:underline;">0</span></td></tr>
<tr><td>1</td><td>0</td><td><span style="text-decoration:underline;">0</span></td></tr>
<tr><td>1</td><td>1</td><td><span style="text-decoration:underline;">0</span></td></tr>
<tr><td>0</td><td>0</td><td><span style="text-decoration:underline;">1</span></td></tr>
<tr><td>0</td><td>1</td><td><span style="text-decoration:underline;">1</span></td></tr>
<tr><td>1</td><td>0</td><td><span style="text-decoration:underline;">1</span></td></tr>
<tr><td>1</td><td>1</td><td><span style="text-decoration:underline;">1</span></td></tr>
</tbody>
</table>
</div>
</div>
</div>
<div id="outline-container-1.2" class="outline-3">
<h3 id="sec-1.2">Un byte </h3>
<div class="outline-text-3" id="text-1.2">
<p>Fíjate que, mientras pensábamos cómo encontrar de cuántas formas
podemos tener tres lámparas, hemos encontrado una manera muy
sencilla de contar de cuántas formas puede estar un número
cualquiera de lámparas.
</p>
<p>
¿De cuántas formas diferentes pueden estar ocho lámparas? No
es fácil verlo sin usar nuestro truco. Inténtalo. Verás que
para construir todas las combinaciones posibles necesitas
algún tipo de orden, y es fácil que te equivoques.
</p>
<p>
Pero no hace falta construirlas todas. Usemos el truco. Una
lámpara puede estar de dos formas, encendida o apagada.
Cuando ponemos otra, la vieja puede estar de dos formas
mientras la nueva está encendida, y de dos formas mientras la
nueva está apagada: hemos multiplicado por dos, y nos da
cuatro. Al poner una tercera, las dos viejas pueden estar de
cuatro formas con la tercera encendida, y de cuatro formas
con la tercera apagada: hemos vuelto a multiplicar por dos.
</p>
<p>
Así que cada vez que añadimos una lámpara multiplicamos por
dos. Con ocho lámparas habremos multiplicado por dos ocho
veces,
</p>
<p>
2 &sdot; 2 &sdot; 2 &sdot; 2 &sdot; 2 &sdot; 2 &sdot; 2 &sdot; 2 = 256
</p>
<p>
Habíamos dicho antes que un bit es algo que puede estar
encendido o apagado. A un grupo de ocho bits le llamamos
<b>byte</b>. Un bit puede representar sólo dos valores, mientras
que un byte puede representar 256 valores: puede estar de 256
formas diferentes. Si tuvieras ocho bombillas en la ventana
de tu habitación podrías combinarlas para construir 256
mensajes.
</p></div>
</div>
<div id="outline-container-1.3" class="outline-3">
<h3 id="sec-1.3">Un gigabyte </h3>
<div class="outline-text-3" id="text-1.3">
<p>Giga es un prefijo que quiere decir mil millones, como el
kilo de kilómetro que quiere decir mil. O sea que un
gigametro son mil millones de metros, y un gigabyte, que es a
lo que se refieren los fabricantes de discos, son mil
millones de bytes.
</p>
<p>
Mil millones de bytes, cada byte son ocho bits, y cada bit es
como una de las bombillas que ponías en la ventana de tu
habitación, y que te servían para construir mensajes. O sea
que un gigabyte es como ocho mil millones de bombillas.
¿Cuántos mensajes podrías construir con todas esas bombillas?
Éste es más difícil de calcular (tienes que saber qué son los
logaritmos): es un número gigantesco, con alrededor de 2408
millones de cifras. Para que te hagas una idea de lo grande
que es, el número de átomos en todo el universo es un número
de sólo 80 cifras, y el número de segundos que han pasado
desde el Big-Bang es de 18 cifras.
</p>
<p>
Este número gigantesco son los mensajes que puede contener un
giga; a efectos prácticos, infinitos. Por eso puedes poner
los ceros y los unos para que signifiquen canciones, o
libros, o fotos: eso es lo que quiere decir guardar un
fichero. Cada combinación de ceros y unos, de bombilla
encendida y apagada, puede querer decir una cosa diferente.
Pero como hay tantísimas posibilidades la inmensa mayoría de
posibles combinaciones en un giga no querrán decir nunca
nada.
</p></div>
</div>
<div id="outline-container-1.4" class="outline-3">
<h3 id="sec-1.4">Cómo se organizan los bits </h3>
<div class="outline-text-3" id="text-1.4">
<p>Los ocho mil millones de bits que hay en un giga pueden tener
ese número inmenso de posibles combinaciones, pero el
ordenador no los usa todos de golpe. Lo que hace es
separarlos en trocitos: por ejemplo, para representar letras
coge los bits de ocho en ocho, un trozo detrás de otro, y
hace que cada grupo de ocho bits (cada byte) sea una letra.
Como hemos quedado que un byte puede estar de 256 maneras
diferentes, hay posibilidades de sobra para que haya una
combinación distinta para cada letra del alfabeto, y todavía
quedan para un montón de símbolos raros. Y como todos los
fabricantes de ordenadores se ponen de acuerdo en qué
combinación de ceros y unos dentro de un byte representa cada
letra, los chorros de bits que escribes con un ordenador los
puede leer otro.
</p>
<p>
Así que, como hemos decidido dividir el chorro de bits en
grupos de ocho, y dedicar un grupo a cada letra, resulta que
en un gigabyte podemos guardar mil millones de letras,
suponiendo que no queramos guardar nada más. Y si queremos
guardar otra cosa, necesitamos ponernos de acuerdo en cómo
interpretar los ceros y los unos para representar esa otra
cosa. Por ejemplo, normalmente los números enteros se
guardan en grupitos de 16 bits (65536 posibilidades
diferentes), o de 32 bits (4294967296 posibilidades
diferentes).
</p>
<p>
¿Y la música? te estarás preguntando. Porque música es, al
fin y al cabo, lo que quieres guardar en tu <i>pen drive</i>.
Pues es lo mismo, un montón de ceros y unos, que representan
números, que a su vez representan el sonido. La única
diferencia es que el formato es más intrincado, y que el
número de ceros y unos que necesitan depende de lo larga que
sea la canción. Para que te hagas una idea, alrededor de
ocho millones de ceros y unos por minuto. O sea que en un
giga, que tiene ocho mil millones de ceros y unos, te caben
alrededor de mil minutos de canción, que son casi 17 horas.
</p>
</div>
</div>
</div>
<address class="signature">
<a class="author" href="http://juanreyero.com">Juan Reyero</a>
<span class="date">
Barcelona,
2008-04-06</span>
</address>
</div>
<a name="comments">&nbsp;</a>
<div id="comments">
<hr/>
<script type="text/javascript">
var disqus_developer = 1;
</script>
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/greaterskies-es/embed.js"></script><noscript><a href="http://disqus.com/forums/greaterskies-es/?url=ref">View the discussion thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<div id='footer'>
<a href="http://feeds.feedburner.com/GreaterSkies-es"><img src="/img/rss.png"/>&nbsp;Suscríbete</a>&nbsp;&mdash;&nbsp;<a href="/es/archivo.html">Archivo</a><br/>
<span id='copyright'>&copy; 2010
<a href='http://juanreyero.com'>Juan Reyero</a>
</span>
</div>
</div><!-- #wrapper -->
<script type="text/javascript">
//<![CDATA[
(function() {
var links = document.getElementsByTagName('a');
var query = '?';
for(var i = 0; i < links.length; i++) {
if(links[i].href.indexOf('#disqus_thread') >= 0) {
query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
}
}
document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/greaterskies-es/get_num_replies.js' + query + '"></' + 'script>');
})();
//]]>
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1081212-5");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
Jump to Line
Something went wrong with that request. Please try again.