Я программист на С++, и иногда я сталкиваюсь с некоторым кодом, который использует побитовые операторы для манипулирования вещами на уровне бит, но у меня нет реального понимания этих понятий. Поэтому я хотел бы, чтобы ресурс помог мне научиться этому так хорошо, что он становится второй натурой. Кто-нибудь знает хорошие ресурсы для этого? Поиск Google не предоставил мне много полезной информации. Может быть, я не уверен, что искать. Спасибо!
Ресурсы для изучения побитового программирования?
Ответ 1
Я абсолютно люблю Генри Уоррена Hacker Delight. Веб-сайт для него предлагает главу 2 ( "Основы" ) в качестве бесплатного образца, который, несмотря на название, предлагает некоторые довольно сложные приемы манипулирования бит. Это может быть не лучшее место для начала, но это фантастика, когда вы начинаете чувствовать себя комфортно с битовой арифметикой.
Ответ 2
Вам нужно знать фон двоичной системы. http://en.wikipedia.org/wiki/Binary_numeral_system имеет большой обзор. Посмотрите http://en.wikipedia.org/wiki/Bitwise_operation для побитовых операций.
Ответ 3
Вот несколько:
Ответ 4
Ну, я думаю, каждая книга c/С++ объясняет побитовые операторы. В Интернете также есть много учебников. Если бы я был вами, я бы улучшил свои навыки в Google. У Delicious также есть хорошая функция поиска. Вот некоторые из ссылок, которые я нашел:
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
Ответ 5
Я предполагаю, что есть другие, возможно, лучшие ресурсы, но я вспомнил, что была статья об этом, которую я прочитал несколько лет назад на GameDev.Net.
Ответ 6
Я согласен с ответами выше на эту статью GameDev.net. Это было хорошо для меня в прошлом.
Эта статья о денормализации с битами (http://maggienelson.com/2009/02/denormalization-with-bitmasks/) полезна для меня и включает примеры, специфичные для базы данных, в случае, если они являются полезными.