He empezado a aprender programación (Python). ¿Cuál es la mejor manera de aprender binario?

A2A Binario es un término vago. Puede significar cómo contar en código binario o binario como en el lenguaje de máquina.

Si te refieres a cómo contar es binario, 0, 1, 10, 11, etc. Solo se necesita práctica. Las computadoras tienen unidades fijas, llamadas palabras que consisten en dígitos binarios (bit) 0 y 1, por lo que si una palabra tiene 8 bits, entonces 00000000, 00000001, 00000010, 00000011, etc.

Si se refiere al código binario como en el lenguaje de máquina, la instrucción y los datos tienen el mismo aspecto; Sin embargo, se ejecutan las instrucciones que manipulan los datos. Hay dos enfoques para aprender el lenguaje de la máquina dependiendo de que usted sea un ingeniero informático o un programador. En ingeniería informática, la computadora se ve en los chips que tienen entradas de bit y salida de bit. Estos bits corresponden a instrucciones y datos. Este es un enfoque de abajo hacia arriba basado en circuitos.

Un programador se opone. Miran la declaración del programa y los tipos de datos y los asignan a la plataforma subyacente, como el JVM Capítulo 6. El Conjunto de instrucciones de la máquina virtual de Java, Intel Intel® 64 e IA-32 Architectures Software Developer Manuals, o el intérprete de Python, 31.12. dis – Disassembler para el código de byte de Python – documentación de Python v2.7.8 o 32.12. dis – Desensamblador para el código de byte de Python – La documentación de Python 3.4.1 enumera el código de byte.

CS 107: Paradigmas de programación de la Universidad de Stanford | Udemy | Stanford / Computer Science es un curso que cubre los conceptos básicos.

Aquí está la totalidad que necesita saber sobre binario durante el primer año o más de la programación que hace:

  • Un número binario es una cadena ordenada de unos y ceros. Cada dígito representa un ‘lugar’. Al igual que los números decimales tienen el ‘lugar de unos’, ‘lugar de las decenas’, ‘lugar de centenas’, etc., los números binarios tienen el ‘lugar de dos’, ‘lugar de cuatro’, ‘lugar de ochos’, etc., porque
  • Cada lugar adicional en una cadena de dígitos binarios duplica el número de cosas que puede representar: un solo 0 o 1 puede representar dos cosas diferentes, dos dígitos pueden representar cuatro cosas (00, 01, 10, 11), tres dígitos pueden representar ocho cosas, y así sucesivamente. ¡Es poderes de 2! Tres dígitos le da 2 ^ 3 (ocho) opciones, cuatro dígitos da 2 ^ 4 (dieciséis), etc.
  • Ese hecho se vuelve interesante con 7 dígitos (128 cosas), porque de repente puedes tener un código para cada mayúscula y minúscula, cada número y símbolo matemático, y un montón de puntuación. ASCII fue diseñado alrededor de esa idea.
  • Los 8 dígitos resultan ser aún mejores: ¡obtienes 256 códigos que representan cosas! Eso es todas las letras, números, puntuación y un montón de otras cosas, como flechas y símbolos y todo eso. UTF-8 toma los 128 códigos ASCII y agrega 128 símbolos más.
  • Un número binario de 8 dígitos (01010101) es un ‘byte’. Esa es la unidad básica para contar el espacio en el disco, en la memoria, etc. Algunas cosas se almacenan con números binarios más cortos, otras con más tiempo, pero los bytes son la unidad de almacenamiento más común.
  • Resulta que algunos idiomas tienen más de 256 caracteres. Whoops! La solución allí no fue ir a números binarios de 9 dígitos, sino saltar a 16 y 32, ya que son buenos con los bytes de 8 dígitos que la computadora le gusta usar. Ahí es donde UTF-16 y UTF-32 entran en más códigos para almacenar más símbolos.

Dicho todo esto, si acabas de comenzar a aprender programación, intentar centrarte en las representaciones binarias es algo confuso. Además, muchas de las cosas de programación que puedes hacer con matemáticas binarias se hacen mejor en un lenguaje como C que tiene una participación mucho más directa con las direcciones de memoria. Python (y Ruby, Perl, JavaScript y un montón de otros lenguajes de alto nivel) abstraen todo lo relacionado con la dirección de la memoria, y por una buena razón: existe un sólido argumento de que la administración manual de la memoria es uno de los mayores vacíos de tiempo en el desarrollo de software. proceso.

Si es absolutamente necesario hacer cosas con binarios, intente aprender sobre el enmascaramiento de bits. Probablemente sea la forma más sencilla de usar binarios reales en tu código Python, y es bastante divertido hacerlo.

No está claro lo que quieres decir con “aprender binario”. Le sugiero que consulte en duckduckgo o wikipedia los siguientes conceptos, que le ayudarán a comenzar:

– representación entera, 1-complemento, 2-complemento
– operaciones lógicas a nivel de bits, asegúrese de entender cómo difieren de las operaciones booleanas
– cambios de bits
– endianness: little-endian y big-endian; Para tu cultura, puedes investigar cosas como el de raza media, para que sepas que existen y que vivimos en un mundo extraño y extraño.

En cualquier caso, si solo está empezando a programar, es probable que no use ninguno de ellos en poco tiempo, ya que hoy en día se limitan principalmente a tipos de programación muy específicos, y probablemente confundirían las cosas en lugar de aclararlas. Debe concentrarse en utilizar los datos que proporciona su idioma y comprender su sistema de tipos.

Buena suerte.

Memorice los poderes de 2. El binario será obvio una vez que tenga eso bajo control.