Sie sind auf Seite 1von 2

Existe un juego de nios que supuestamente es para averiguar el nmero que alguien est

pensando, no recuerdo los detalles tcnicos pero mas o menos consiste en ver una serie de
cartas con cifras impresas y decir si la que uno tiene en mente aparece o no en cada una.
Al final el que muestra las cartas dice en voz alta la cifra oculta y todos aplauden. El
sistema de este juego consiste en la numeracin binaria. Esta entrada es sobre una manera
sencilla

de

conviertir

un

nmero

normal

al

hermtico

sistema

binario.

Antes de entrar en los detalles escabrosos, debo denunciar que en la carrera de ingeniera
en computacin de casi todas las universidades (con u minscula) se ensea un mtodo
que consiste en dividir el nmero normal entre dos y anotar el residuo, volver a dividir el
cociente entre dos y anotar de nuevo el residuo y as hasta que el resultado de la divisin
sea cero, para despus voltearse y ya escribirse en binario. Este mtodo es bueno para
convertir un nmero normal a otro de cualquier base, (solo hay que cambiar el divisor por
la base que queramos) pero en mi opinin dicho mtodo es demasiado tardado y
complicado, no nos da informacin sobre desbordamientos, signos y es muy fcil
equivocarse

en

el

valor

posicional.

Otra razn es que los nmeros normales son el patito feo en el mundo de las
computadoras. Los sistemas verdaderamente importantes son el binario, el octal y el
hexadecimal. Convertir nmeros entre estos 3 sistemas es extraordinariamente sencillo y lo
veremos cuando acaben de leer esta entrada. Y es mas sencillo convertir de decimal a
binario que a octal o hexadecimal. El mtodo que usaremos hoy (que no lo invent pero es
el que me funciona ) se basa en 9 pasos
1.- Si el nmero es mayor que 255 no puede representarse con un byte y nos vamos al
demonio.
2.- Si al nmero le podemos restar 128, le restamos y escribimos un uno, si no se puede
escribimos

un

cero

3.-Vemos si al resultado anterior le podemos restar 64, si es as le restamos 64 y escribimos


un

uno,

si

no

se

puede

escribimos

un

cero.

4.-Vemos si al resultado anterior le podemos restar 32, si es as le restamos 32 y escribimos


un

uno,

si

no

se

puede

escribimos

un

cero.

5.-Vemos si al resultado anterior le podemos restar 16, si es as le restamos 16 y escribimos


un

uno,

si

no

se

puede

escribimos

un

cero.

6.-Vemos si al resultado anterior le podemos restar 8, si es as le restamos 8 y escribimos


un

uno,

si

no

se

puede

escribimos

un

cero.

7.-Vemos si al resultado anterior le podemos restar 4, si es as le restamos 4 y escribimos

un

uno,

si

no

se

puede

escribimos

un

cero.

8.-Vemos si al resultado anterior le podemos restar 2, si es as le restamos 2 y escribimos


un

uno,

si

no

se

puede

escribimos

un

cero.

9.-Vemos si al resultado anterior le podemos restar 1, si es as le restamos 1 y escribimos


un uno, si no se puede escribimos un cero.
Este es el mtodo que conozco, restas sucesivas sobre el nmero a convertir, si si puede
restar se escribe uno y se resta, si no se puede (o el resultado de restar es negativo) se
escribe un cero. Este mtodo escribe exactamente 8 cifras, que es el ancho de una celda de
byte. Por ejemplo, el 255 arroja ocho unos, el cero una cadena de 8 ceros, etc. Para
cantidades mayores a 255 se usan celdas de byte combinadas. Por ejemplo, con 2 celdas
de byte tenemor 16 bits y podemos representar desde el 0 hasta el 65535, con 4 celdas
tenemos 32 bits y podemos representar desde 0 hasta el4,294,967,296. Este numerote es
importante, pues la mayor parte de los datos en una PC con Windows usan enteros de 32
bits. Bueno, una nota mas en este blog. Espero que este mtodo les sirva sobre todo a los
estudiantes de primer semestre de ingeniera en computacin, al menos antes de que
muten en un DBA de 150 kilos. Pues si lo hacen nunca van a necesitar usar nmeros
binarios, estos solo son para los programadores de Ensamblador y uno que otro
programador despistado de c.

Das könnte Ihnen auch gefallen