| 3. | Assuming a integer 2-bytes, What will be the output of the program? | 
 | A. | ffff | 
 | B. | fff8 | 
 | C. | 0 | 
 | D. | -1 | 
 | 
   
		
		    
			    | Answer:  Option  B | 
			
 | 
 | 
		    
 | Explanation: | 
			
		    
		 | 
			  
			   The system will treat negative numbers in 2's complement method.
  Example:
  Assume the size of int is 2-bytes(16 bits). The integer value 1 is represented as given below:
  Binary of 1: 00000000 00000001 (this is for positive value of 1)
  1's complement of binary 1: 11111111 11111110 2's complement of binary 1: 11111111 11111111
  Thy system will store '11111111 11111111' in memory to represent '-1'.
  If we do left shift (3 bits) on 11111111 11111111 it will become as given below:
  11111111 11111111 ---(left shift 3 times)---> 11111111 11111000.
  So, 11111111 11111000 ---(binary to hex)---> FF F8. (Required Answer)
  Note:
  How is the negative number obtained from 2's complement value?
  As stated above, -1 is represented as '11111111 11111111' in memory.
  So, the system will take 2's complement of '11111111 11111111' to the get the original negative value back.
  Example:
  Bit Representation of -1: 11111111 11111111
  Since the left most bit is 1, it is a negative number. Then the value is
  1's complement: 00000000 00000000 2's complement: 00000000 00000001 (Add 1 to the above result)
  Therefore, '00000000 00000001' = 1 and the sign is negative.
  Hence the value is -1. 		  			   | 
			
 | 
 | 
 | 
		     | 
			 Tutorial Link: | 
			
		
 
					Published by:Michael Daani 
		
 
	   
Comments are not available