Bits and binary · Bits y binario
Bits: the smallest piece of data
- A bit is one digit that is either
0or1. - Computers store everything — numbers, text, images — as bits.
- One bit alone is small, so we group many bits together.
Bits: la unidad más pequeña de datos
- Un bit es un dígito que puede ser
0o1. - Las computadoras almacenan todo —números, texto, imágenes— en forma de bits.
- Un solo bit es muy pequeño, por lo que agrupamos muchos bits juntos.
Why computers use binary
- A computer chip has tiny switches. Each switch is on or off.
on=1andoff=0. So two states fit a chip perfectly.- Counting with only
0and1is called binary (base 2).
Por qué las computadoras usan binario
- Un chip de computadora tiene interruptores diminutos. Cada interruptor está encendido o apagado.
on=1yoff=0. Así, dos estados se adaptan perfectamente a un chip.- Contar usando únicamente
0y1se llama binario (base 2).
How binary counts
- Our normal numbers use base 10 (digits
0–9). - Binary uses base 2. Each place is worth twice the place on its right.
- The places are
8 4 2 1. So1101means8 + 4 + 0 + 1 = 13.
Cómo funciona el conteo binario
- Nuestros números usuales usan base 10 (dígitos del
0al9). - El binario usa base 2. Cada posición vale el doble que la posición a su derecha.
- Las posiciones son
8 4 2 1. Entonces1101significa8 + 4 + 0 + 1 = 13.
place: 8 4 2 1
bits: 1 1 0 1 -> 8 + 4 + 0 + 1 = 13
Python can convert for you
bin(13)gives the string'0b1101'. The0bjust means "this is binary".int("1101", 2)reads"1101"as base 2 and gives13.- These two functions go in opposite directions.
Python puede convertir por ti
bin(13)devuelve la cadena'0b1101'. El0bsimplemente indica "esto es binario".int("1101", 2)lee"1101"como base 2 y devuelve13.- Estas dos funciones operan en direcciones opuestas.
print(bin(13)) # decimal -> binary
print(int("1101", 2)) # binary -> decimal
Fixed bits and overflow
- A computer keeps a number in a fixed number of bits.
- With 4 bits you can store
0to15— that is2**4 = 16different values. - If a result is too big, it wraps around back to
0. This is overflow.
Bits fijos y desbordamiento
- Una computadora guarda un número en una cantidad fija de bits.
- Con 4 bits puedes almacenar valores de
0a15, es decir,2**4 = 16valores distintos. - Si el resultado es demasiado grande, se reinicia volviendo a
0. Esto se conoce como desbordamiento (overflow).
print(2 ** 4) # how many values 4 bits hold = 16
print((15 + 3) % 16) # 18 is too big, so it wraps to 2
Common mistakes
nbits store2**ndifferent values, from0to2**n - 1.- Binary is base 2: each place is worth twice the one to its right.
Errores comunes
nbits almacenan2**nvalores distintos, desde0hasta2**n - 1.- El binario es base 2: cada posición vale el doble que la posición a su derecha.
Now you try
- Type your code below and press Run to see the output.
- Press Check answer to test it.
Ahora tú intentas
- Escribe tu código abajo y pulsa Run para ver la salida.
- Pulsa Check answer para comprobarlo.
Binary counts in powers of 2 · Conteos binarios en potencias de 2
Each bit is a power of two; lit bits add up to the value. · Cada bit es una potencia de dos; los bits encendidos se suman para obtener el valor.
Use bin(...) to print the binary form of 20. The output should look like 0b10100. · Usa bin(...) para imprimir la forma binaria de 20. La salida debe verse como 0b10100.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
The binary string "110" is a number. Use int(s, 2) to print it as a normal (decimal) number. · La cadena binaria "110" es un número. Usa int(s, 2) para imprimirlo como un número normal (decimal).
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
A counter has 5 bits, so it holds 2**5 = 32 values. Store 2**5 in · hacia adentro size. Then store (30 + 5) % size in · hacia adentro result to show how the value wraps around (overflow). · Un contador tiene 5 bits, por lo que almacena 2**5 = 32 valores. Almacena 2**5 en size. Luego almacena (30 + 5) % size en result para mostrar cómo el valor se reinicia (desbordamiento).
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.