Initialize the 32-bit word Input 43261596 is 00000010100101000001111010011100₂. Set answer = 0 before reading bit position 0.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 next: bit 0 0 31
input 43261596value 00000010100101000001111010011100answer 00000000000000000000000000000000
Read bit 0: 0 Iteration 1: answer = (0 << 1) | 0 = 0; value shifts right to 21630798.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 read #1: 0 0 31
sourceBitPosition 0appendOperation (0 << 1) | 0 = 0answerBits 00000000000000000000000000000000remainingInput 00000001010010100000111101001110
Read bit 1: 0 Iteration 2: answer = (0 << 1) | 0 = 0; value shifts right to 10815399.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 read #2: 0 0 30 0 31
sourceBitPosition 1appendOperation (0 << 1) | 0 = 0answerBits 00000000000000000000000000000000remainingInput 00000000101001010000011110100111
Read bit 2: 1 Iteration 3: answer = (0 << 1) | 1 = 1; value shifts right to 5407699.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 read #3: 1 1 29 0 30 0 31
sourceBitPosition 2appendOperation (0 << 1) | 1 = 1answerBits 00000000000000000000000000000001remainingInput 00000000010100101000001111010011
Read bit 3: 1 Iteration 4: answer = (1 << 1) | 1 = 3; value shifts right to 2703849.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 read #4: 1 1 28 1 29 0 30 0 31
sourceBitPosition 3appendOperation (1 << 1) | 1 = 3answerBits 00000000000000000000000000000011remainingInput 00000000001010010100000111101001
Read bit 4: 1 Iteration 5: answer = (3 << 1) | 1 = 7; value shifts right to 1351924.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 read #5: 1 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 4appendOperation (3 << 1) | 1 = 7answerBits 00000000000000000000000000000111remainingInput 00000000000101001010000011110100
Read bit 5: 0 Iteration 6: answer = (7 << 1) | 0 = 14; value shifts right to 675962.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 read #6: 0 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 5appendOperation (7 << 1) | 0 = 14answerBits 00000000000000000000000000001110remainingInput 00000000000010100101000001111010
Read bit 6: 0 Iteration 7: answer = (14 << 1) | 0 = 28; value shifts right to 337981.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 read #7: 0 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 6appendOperation (14 << 1) | 0 = 28answerBits 00000000000000000000000000011100remainingInput 00000000000001010010100000111101
Read bit 7: 1 Iteration 8: answer = (28 << 1) | 1 = 57; value shifts right to 168990.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 read #8: 1 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 7appendOperation (28 << 1) | 1 = 57answerBits 00000000000000000000000000111001remainingInput 00000000000000101001010000011110
Read bit 8: 0 Iteration 9: answer = (57 << 1) | 0 = 114; value shifts right to 84495.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 read #9: 0 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 8appendOperation (57 << 1) | 0 = 114answerBits 00000000000000000000000001110010remainingInput 00000000000000010100101000001111
Read bit 9: 1 Iteration 10: answer = (114 << 1) | 1 = 229; value shifts right to 42247.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 read #10: 1 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 9appendOperation (114 << 1) | 1 = 229answerBits 00000000000000000000000011100101remainingInput 00000000000000001010010100000111
Read bit 10: 1 Iteration 11: answer = (229 << 1) | 1 = 459; value shifts right to 21123.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 read #11: 1 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 10appendOperation (229 << 1) | 1 = 459answerBits 00000000000000000000000111001011remainingInput 00000000000000000101001010000011
Read bit 11: 1 Iteration 12: answer = (459 << 1) | 1 = 919; value shifts right to 10561.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 read #12: 1 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 11appendOperation (459 << 1) | 1 = 919answerBits 00000000000000000000001110010111remainingInput 00000000000000000010100101000001
Read bit 12: 1 Iteration 13: answer = (919 << 1) | 1 = 1839; value shifts right to 5280.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 read #13: 1 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 12appendOperation (919 << 1) | 1 = 1839answerBits 00000000000000000000011100101111remainingInput 00000000000000000001010010100000
Read bit 13: 0 Iteration 14: answer = (1839 << 1) | 0 = 3678; value shifts right to 2640.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 read #14: 0 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 13appendOperation (1839 << 1) | 0 = 3678answerBits 00000000000000000000111001011110remainingInput 00000000000000000000101001010000
Read bit 14: 0 Iteration 15: answer = (3678 << 1) | 0 = 7356; value shifts right to 1320.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 read #15: 0 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 14appendOperation (3678 << 1) | 0 = 7356answerBits 00000000000000000001110010111100remainingInput 00000000000000000000010100101000
Read bit 15: 0 Iteration 16: answer = (7356 << 1) | 0 = 14712; value shifts right to 660.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 read #16: 0 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 15appendOperation (7356 << 1) | 0 = 14712answerBits 00000000000000000011100101111000remainingInput 00000000000000000000001010010100
Read bit 16: 0 Iteration 17: answer = (14712 << 1) | 0 = 29424; value shifts right to 330.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 read #17: 0 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 16appendOperation (14712 << 1) | 0 = 29424answerBits 00000000000000000111001011110000remainingInput 00000000000000000000000101001010
Read bit 17: 0 Iteration 18: answer = (29424 << 1) | 0 = 58848; value shifts right to 165.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 read #18: 0 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 17appendOperation (29424 << 1) | 0 = 58848answerBits 00000000000000001110010111100000remainingInput 00000000000000000000000010100101
Read bit 18: 1 Iteration 19: answer = (58848 << 1) | 1 = 117697; value shifts right to 82.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 read #19: 1 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 18appendOperation (58848 << 1) | 1 = 117697answerBits 00000000000000011100101111000001remainingInput 00000000000000000000000001010010
Read bit 19: 0 Iteration 20: answer = (117697 << 1) | 0 = 235394; value shifts right to 41.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 read #20: 0 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 19appendOperation (117697 << 1) | 0 = 235394answerBits 00000000000000111001011110000010remainingInput 00000000000000000000000000101001
Read bit 20: 1 Iteration 21: answer = (235394 << 1) | 1 = 470789; value shifts right to 20.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 read #21: 1 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 20appendOperation (235394 << 1) | 1 = 470789answerBits 00000000000001110010111100000101remainingInput 00000000000000000000000000010100
Read bit 21: 0 Iteration 22: answer = (470789 << 1) | 0 = 941578; value shifts right to 10.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 read #22: 0 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 21appendOperation (470789 << 1) | 0 = 941578answerBits 00000000000011100101111000001010remainingInput 00000000000000000000000000001010
Read bit 22: 0 Iteration 23: answer = (941578 << 1) | 0 = 1883156; value shifts right to 5.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 read #23: 0 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 22appendOperation (941578 << 1) | 0 = 1883156answerBits 00000000000111001011110000010100remainingInput 00000000000000000000000000000101
Read bit 23: 1 Iteration 24: answer = (1883156 << 1) | 1 = 3766313; value shifts right to 2.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 read #24: 1 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 23appendOperation (1883156 << 1) | 1 = 3766313answerBits 00000000001110010111100000101001remainingInput 00000000000000000000000000000010
Read bit 24: 0 Iteration 25: answer = (3766313 << 1) | 0 = 7532626; value shifts right to 1.
0 0 0 1 0 2 0 3 0 4 0 5 1 6 read #25: 0 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 24appendOperation (3766313 << 1) | 0 = 7532626answerBits 00000000011100101111000001010010remainingInput 00000000000000000000000000000001
Read bit 25: 1 Iteration 26: answer = (7532626 << 1) | 1 = 15065253; value shifts right to 0.
0 0 0 1 0 2 0 3 0 4 0 5 read #26: 1 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 25appendOperation (7532626 << 1) | 1 = 15065253answerBits 00000000111001011110000010100101remainingInput 00000000000000000000000000000000
Read bit 26: 0 Iteration 27: answer = (15065253 << 1) | 0 = 30130506; value shifts right to 0.
0 0 0 1 0 2 0 3 0 4 read #27: 0 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 26appendOperation (15065253 << 1) | 0 = 30130506answerBits 00000001110010111100000101001010remainingInput 00000000000000000000000000000000
Read bit 27: 0 Iteration 28: answer = (30130506 << 1) | 0 = 60261012; value shifts right to 0.
0 0 0 1 0 2 0 3 read #28: 0 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 27appendOperation (30130506 << 1) | 0 = 60261012answerBits 00000011100101111000001010010100remainingInput 00000000000000000000000000000000
Read bit 28: 0 Iteration 29: answer = (60261012 << 1) | 0 = 120522024; value shifts right to 0.
0 0 0 1 0 2 read #29: 0 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 28appendOperation (60261012 << 1) | 0 = 120522024answerBits 00000111001011110000010100101000remainingInput 00000000000000000000000000000000
Read bit 29: 0 Iteration 30: answer = (120522024 << 1) | 0 = 241044048; value shifts right to 0.
0 0 0 1 read #30: 0 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 29appendOperation (120522024 << 1) | 0 = 241044048answerBits 00001110010111100000101001010000remainingInput 00000000000000000000000000000000
Read bit 30: 0 Iteration 31: answer = (241044048 << 1) | 0 = 482088096; value shifts right to 0.
0 0 read #31: 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 30appendOperation (241044048 << 1) | 0 = 482088096answerBits 00011100101111000001010010100000remainingInput 00000000000000000000000000000000
Read bit 31: 0 Iteration 32: answer = (482088096 << 1) | 0 = 964176192; value shifts right to 0.
read #32: 0 0 0 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 1 11 0 12 1 13 0 14 0 15 0 16 0 17 0 18 1 19 1 20 1 21 1 22 0 23 1 24 0 25 0 26 1 27 1 28 1 29 0 30 0 31
sourceBitPosition 31appendOperation (482088096 << 1) | 0 = 964176192answerBits 00111001011110000010100101000000remainingInput 00000000000000000000000000000000result 964176192
← Previous ▶ Play trace Next →
Step 1 of 33 1 Initialize the 32-bit word 2 Read bit 0: 0 3 Read bit 1: 0 4 Read bit 2: 1 5 Read bit 3: 1 6 Read bit 4: 1 7 Read bit 5: 0 8 Read bit 6: 0 9 Read bit 7: 1 10 Read bit 8: 0 11 Read bit 9: 1 12 Read bit 10: 1 13 Read bit 11: 1 14 Read bit 12: 1 15 Read bit 13: 0 16 Read bit 14: 0 17 Read bit 15: 0 18 Read bit 16: 0 19 Read bit 17: 0 20 Read bit 18: 1 21 Read bit 19: 0 22 Read bit 20: 1 23 Read bit 21: 0 24 Read bit 22: 0 25 Read bit 23: 1 26 Read bit 24: 0 27 Read bit 25: 1 28 Read bit 26: 0 29 Read bit 27: 0 30 Read bit 28: 0 31 Read bit 29: 0 32 Read bit 30: 0 33 Read bit 31: 0