MHB Determine the decimal values of the following 1's complement numbers:

  • Thread starter Thread starter shamieh
  • Start date Start date
  • Tags Tags
    Numbers
AI Thread Summary
In the discussion on determining decimal values of 1's complement numbers, participants clarify that a leading 1 indicates a negative value, while a leading 0 indicates a positive one. The confusion arises over why -511 is used as a starting point instead of -512, with the explanation that the initial addition of 1 is part of the 1's complement calculation. For the binary number 1011100111, the calculations yield -280 using the method of summing the positive values and adjusting for the negative base. An alternative method involves converting the binary to unsigned, then subtracting from the maximum value for the digit count, which simplifies the process. Overall, the discussion emphasizes different approaches to calculating decimal values from binary representations in 1's complement.
shamieh
Messages
538
Reaction score
0
Determine the decimal values of the following 1's complement numbers:

So i understand that if the left most bit number is a 1 it is a negative, and if it is a 0 it is poisitive. But my question is why do they start out with -511 when $$2^9$$ is obviously -512. Why are they adding 1 to it initially?

1011100111 = -511 + 128 + 64 + 32 + 4 + 2 + 1 = -280
 
Technology news on Phys.org
After looking at it some more, it looks like I would say -511 + [numbers here] and I would + 1 initially, I guess that 's what "1's complacent means", similarly when it 's "2's complacent" it looks like I would not +1, but would still have a negative number if my left most bit began with a 1.

Decimal values (1’s complement)
(a) 0111011110 = 256 + 128 + 64 + 16 + 8 + 4 + 2 = 478
(b) 1011100111 = -511 + 128 + 64 + 32 + 4 + 2 + 1 = -280

Decimal values (2’s complement)
(a) 0111011110 = 256 + 128 + 64 + 16 + 8 + 4 + 2 = 478
(b) 1011100111 = -512 + 128 + 64 + 32 + 4 + 2 + 1 = -281
 
The way I look at one's complement is to first find the unsigned value:

$$(1011100111)_2=1+2+4+32+64+128+512=743$$

Now count the number of binary digits, which is 10, and so subtract $2^{10}-1=1023$:

$$743-1023=-280$$
 
Wow that way is so much easier then what the book teaches.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top