Soy un programador de C++ y de vez en cuando me encontraré con algún código que utiliza operadores bit a bit para manipular cosas en el nivel de bits, pero no tengo una comprensión real de esos conceptos. Entonces me gustaría un recurso que me ayude a aprenderlo tan bien que se convierta en una segunda naturaleza. ¿Alguien sabe de buenos recursos para esto? Una búsqueda en google no me proporcionó mucha información útil. Tal vez no estoy seguro de qué buscar. ¡Gracias!¿Recursos para aprender la programación bit a bit?
Respuesta
Me encanta el libro de Henry Warren Hacker's Delight. El sitio web ofrece el Capítulo 2 ("Conceptos básicos") como una muestra gratuita que, a pesar del nombre, ofrece algunos trucos de manipulación de bits bastante sofisticados. Puede que no sea el mejor lugar para comenzar, pero es fantástico una vez que comienzas a sentirte cómodo con la aritmética de bits.
+1 para Hacker's Delight - es un excelente libro al que constantemente me refiero para formas rápidas de realizar todo tipo de algoritmos – DaveR
También +1 para este gran libro. Aunque no todos los trucos son una victoria en estos días, todavía es fascinante. –
Aunque hay muchos enlaces web buenos en la lista, este libro me parece justo lo que estoy buscando. ¡Gracias! – JimDaniel
Me imagino que hay otros recursos posiblemente mejores, pero me acordé de que hay Washington s un artículo sobre esto que leí hace unos años en GameDev.Net.
Acabo de vincular a la misma, estaba en mis marcadores de Google Chrome. Fue un buen tutorial. – Kredns
Vas a tener que conocer los antecedentes del sistema binario. http://en.wikipedia.org/wiki/Binary_numeral_system tiene una gran descripción. Mira http://en.wikipedia.org/wiki/Bitwise_operation para operaciones bit a bit.
Bueno, supongo que cada libro c/C++ explica los operadores bit a bit. También hay muchos tutoriales en línea. Si fuera usted, mejoraría mis habilidades de google. Delicious también tiene una buena funcionalidad de búsqueda.Éstos son algunos de los enlaces que he encontrado:
http://www.gamedev.net/reference/articles/article1563.asp
http://www.vipan.com/htdocs/bitwisehelp.html
http://graphics.stanford.edu/~seander/bithacks.html
http://en.wikipedia.org/wiki/Bitwise_operation
http://resnet.uoregon.edu/~gurney_j/jmpc/bitwise.html
http://www.cprogramming.com/tutorial/bitwise_operators.html
http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/
http://www.codeproject.com/KB/cpp/bitbashing.aspx
http://www.eskimo.com/~scs/cclass/int/sx4ab.html
http://www.cs.utk.edu/~vose/c-stuff/bithacks.html
http://www.somacon.com/p125.php
http://www.fredosaurus.com/notes-cpp/expressions/bitops.html
http://goanna.cs.rmit.edu.au/~stbird/Tutorials/BitwiseOps.html
http://www.custard.org/~andrew/programming/bitwise/
http://www.codeproject.com/KB/cpp/Bitwise_Operation.aspx
http://bits.stephan-brumme.com/
http://en.wikipedia.org/wiki/Bit_manipulation
http://www.hackersdelight.org/HDcode.htm
http://www.arduino.cc/playground/Code/BitMath
http://irc.essex.ac.uk/www.iota-six.co.uk/c/e4_bitwise_operators_and_or_xor.asp
Acepto las respuestas anteriores sobre ese artículo de GameDev.net. Eso fue bueno para mí en el pasado.
Este artículo sobre Desnormalización con máscaras de bits (http://maggienelson.com/2009/02/denormalization-with-bitmasks/) también me ha sido útil e incluye ejemplos específicos de la base de datos, en caso de que sean de utilidad.
- 1. ¿Dónde aprender sobre "bit"?
- 2. PHP matriz bit a bit
- 3. Python: aritmética bit a bit sin signo de 32 bit
- 4. Reemplazar bit menos significativo con operaciones bit a bit
- 5. AND bit a bit, bit a bit pregunta Incluido O, en Java
- 6. operaciones bit a bit MySQL y filtrar
- 7. bit a bit de sustracción en Python
- 8. Arrays de desplazamiento bit a bit
- 9. ¿Qué son los operadores bit a bit?
- 10. aplicaciones prácticas de operaciones bit a bit
- 11. Indicadores de bit a bit en Delphi
- 12. operaciones bit a bit en Postgres
- 13. Operador bit a bit en SQLAlchemy
- 14. Operaciones bit a bit con enteros grandes
- 15. OR bit a bit de las constantes
- 16. Explicación de bit a bit NO operador
- 17. operadores bit a bit en Postgres
- 18. Operador bit a bit en firebird
- 19. Lua - Operaciones lógicas de bit a bit
- 20. Implementación de ArrayDeque.allocateElements (operaciones bit a bit)
- 21. Operaciones bit a bit en el corto
- 22. operaciones bit a bit sobre no números
- 23. salida extraña por bit a bit NO
- 24. ¿Puedo usar OR bit a bit para enumeraciones de Java
- 25. Operador bit a bit para obtener bytes de 32 bits
- 26. Lista de Python para operaciones bit a bit
- 27. Prioridad del operador (bit a bit 'y' menor que '==')
- 28. ¿Las operaciones bit a bit siguen siendo prácticas?
- 29. OR bit a bit (|) en el argumento de la función
- 30. Enfrente de la operación OR bit a bit
En los lenguajes de alto nivel, siempre he omitido las instrucciones de rotar para transportar. Si alguna vez diseño un idioma, lo tendrá. – Nosredna
¿En qué tipo de aplicaciones necesitas eso? Supongo que com. –
Bueno, al tenerlo, es más fácil hacer turnos de multibyte. Lo que sea que lo necesites. Cosas que dejo caer en asamblea para hacer. Tal vez en lugar del cambio y rotar a través del acarreo, podría hacer algo de nivel superior, como permitir bit a bit en matrices de enteros. – Nosredna