[OT] Bit twiddling homework

Brian Oney brian.j.oney at googlemail.com
Fri Jul 20 02:25:04 EDT 2018

Dear Python-List,

an old dog wants to learn some new tricks.

Due to my contact with microcontrollers, I am learning C/C++. I am aware that this is the
endearing, helpful, yet chatty python-list. Many of you are competent C-programmers. 

The allure of C is that I can play directly with memory. 
For example, bitwise operators are neat (here a shift):
  int res = 1 << 4 
  printf("%d\n", res)

Translates to pseudocrap:
0000 0001 -> leftwards bitshift of 4 places -> 0001 0000

I think that is pretty neat. After having imbibed the some of the computational basis for binary
digits (X₂) a few weeks ago, I learned yesterday about hexadecimals (X₁₆). While in the rabbit
hole, I learned about Claude Shannon's and Alan Turing's work on digital logic. I am excited to
learn about what kind of computations I can do in these number systems. 

Therefore, what book or learning course do you recommend? I imagine something that tours or skims
the fundamentals of Boolean algebra and digital logic, and then goes to C and some fun homework
problems. It may seem to you that the emphasis there is wrongly placed. 

Thank you for the tips.

PS: Can I twiddle bits in Python?

More information about the Python-list mailing list