------------------------------------------------------------------------------
MC logo
Booth's Algorithm Examples
[^] Chapter 2: Data Representation
------------------------------------------------------------------------------
[Chapter 1: Introduction] [Chapter 2: Data Representation] [Chapter 3: Boolean Algebra and Digital Logic] [Chapter 4: MARIE: A Very Simple Architecture] [Chapter 5: Real-World Architectures] [Chapter 6: Memory Systems] [Chapter 7: I/O Systems] [Chapter 9: Alternative Architecture] [Chapter 11: Performance Measurement]
[Booth's Algorithm Examples]
Multiply 62 by 57, 8 bits to 16.
 00111110
 × 00111001
 1111111111000010
 000000000111110 
 1111111000010   
 + 0000111110      
 0000110111001110
Multiply 107 by 74, 8 bits to 16.
Not really a success for Mr. Booth.
 01101011
 × 01001010
 111111110010101 
 00000001101011  
 1111110010101   
 000001101011    
 1110010101      
 + 001101011       
 0001111011101110
Multiply -24 by 30, 8 bits to 16.
 11101000
 × 00011110
 000000000011000 
 + 11111101000     
 1111110100110000
Multiply 118 by -99, 8 bits to 16.
 01110110
 × 10011101
 1111111110001010
 000000001110110 
 11111110001010  
 00001110110     
 + 110001010       
 1101001001011110
Multiply -76 by -40, 8 bits to 16.
 10110100
 × 11011000
 0000001001100   
 11110110100     
 + 0001001100      
 0000101111100000
Multiply 341 by 881, 16 bits to 32.
 0000000101010101
 × 0000001101110001
 11111111111111111111111010101011
 0000000000000000000000101010101 
 1111111111111111111010101011    
 0000000000000000101010101       
 111111111111111010101011        
 + 0000000000000101010101          
 00000000000001001001010110000101
Multiply 617 by -451, 16 bits to 32.
Negative multipliers can be a win.
 0000001001101001
 × 1111111000111101
 11111111111111111111110110010111
 0000000000000000000001001101001 
 111111111111111111110110010111  
 00000000000000001001101001      
 + 11111111111110110010111         
 11111111111110111100000100000101