# Binary.py (c) Kari Laitinen # http://www.naturalprogramming.com # 2006-04-18 File created. # 2022-12-18 Converted to Python 3. def print_in_binary_form( given_integer ) : bit_mask = 0x80000000 binary_string_to_print = "" for bit_counter in range( 32 ) : one_bit_in_given_integer = given_integer & bit_mask if one_bit_in_given_integer == 0 : binary_string_to_print += "0" else : binary_string_to_print += "1" bit_mask = bit_mask >> 1 ; print( binary_string_to_print, end="" ) # The main program. test_number = 0x9A9A ; print( "\n Original test number: ", end="" ) print_in_binary_form( test_number ) print( "\n Twice left-shifted form: ", end="" ) test_number = test_number << 2 print_in_binary_form( test_number ) print( "\n Back to original form: ", end="" ) test_number = test_number >> 2 print_in_binary_form( test_number ) print( "\n Last four bits zeroed: ", end="" ) test_number = test_number & 0xFFF0 print_in_binary_form( test_number ) print( "\n Last four bits to one: ", end="" ) test_number = test_number | 0x000F print_in_binary_form( test_number ) print( "\n A complemented form: ", end="" ) test_number = ~test_number print_in_binary_form( test_number ) print( "\n Exclusive OR with 0xF0F0:", end="" ) test_number = test_number ^ 0xF0F0 print_in_binary_form( test_number ) print( "\n" )