Surprise: it is -10002.
(If you wanted to ask 1000(2), then it is 11111000(2))
Chat with our AI personalities
8-bit 2s complement representation of -19 is 11101101 For 1s complement invert all the bits. For 2s complement add 1 to the 1s complement: With 8-bits: 19 � 0001 0011 1s � 1110 1100 2s � 1110 1100 + 1 = 1110 1101
You can detect overflow if the result turns out to be negative (which is the same as checking to see if the sign bit is 1). For example if you tried to add 5 and 6 in to 4-bit 2s complement, you would get 0101 + 0110 = 1011, which is a negative number since the sign bit (the 1 on the left) is a 1. This is an overflow.
Two's complement is the normal implementation of signed integers, so just take the negative. int a = 123; int b = -a; /* b now equals -123 */ The actual implementation of two's complement notation is that, to make something negative, simply invert the bits and then add 1. 12310 = 00000000011110112 (using 16 bit notation) Invert and you get 111111111000100. Add one and you get 111111111000101, so... -12310 = 1111111110001012
310 = 00112 510 = 01012 810 = 10002 1310 = 11012
trivial.