Ask your own question, for FREE!
Mathematics 13 Online
OpenStudy (curry):

Can someone check my answer for this binary combo question?

OpenStudy (curry):

OpenStudy (curry):

1. [-2^(n-1)+1, 2^n-1] 2. [-2^(n-1)+1, 2^n-1]

OpenStudy (curry):

@wio

OpenStudy (curry):

@ganeshie8

ganeshie8 (ganeshie8):

Let \(n\) = 8 bits whats the largest positive number in 1's complement system ?

OpenStudy (curry):

um, 2^8?

ganeshie8 (ganeshie8):

nope

OpenStudy (curry):

wait no, 2^8 - 1

OpenStudy (curry):

no no, 2^7 -1

ganeshie8 (ganeshie8):

Yes, \(\large 2^7-1\) is the largest number in 1's complement system using 8 bits : \[\large 2^7-1~~=~~0111 ~1111\]

OpenStudy (curry):

wait, actually i'm kinda confused about that to begin with.

ganeshie8 (ganeshie8):

what exactly are you confused about ?

OpenStudy (curry):

so, if i have 0000 0000, in one's compliment, cant i write 1111 1111?

ganeshie8 (ganeshie8):

thats the reason 1's complement system sucks, we have two different representations for 0 in this system : ``` 0000 0000 ``` and ``` 1111 1111 ``` both represent the same number 0 in this system

OpenStudy (curry):

oh ok, so 1 is the smallest number i can write that can be converted to one's complement so that it bcomes the largest?

ganeshie8 (ganeshie8):

I don't get you, could you elaborate a bit

OpenStudy (curry):

since i'm flipping the bits, the smallest number i write in binary would give me the greatest number in one's complement right?

ganeshie8 (ganeshie8):

you don't flip bits when the left most bit is 0

ganeshie8 (ganeshie8):

you flip only when the left most bit is 1

OpenStudy (curry):

oh beacuse it's positive?

ganeshie8 (ganeshie8):

yes

OpenStudy (curry):

so one's complement only works when we're dealing with signed magnitude numbers?

ganeshie8 (ganeshie8):

signed magnitude has nothing to do with 1's complement

OpenStudy (curry):

well unsigned is always positive isn't it?

OpenStudy (curry):

so it has to be a negative number for one's complement to have an effect right?

ganeshie8 (ganeshie8):

You maybe correct but I'm not getting you First notice that "one's complement of a number" and "ones complement system" are two different things

ganeshie8 (ganeshie8):

In "one's complement system", binary strings with 0 as left most bit are treated as positive binary strings with 1 as left most bit are treated as negative

ganeshie8 (ganeshie8):

for example, `010 0000` is a positive number because the left most bit is `0` `1000 0000` is a negative number because the left most bit is `1`

OpenStudy (curry):

so how is it different frmo signed magnitude system?

OpenStudy (curry):

isnn't signed magnitude the same thing? where 0 is positive and 1 is negative?

ganeshie8 (ganeshie8):

before answering that, let me ask you two simple questions : what are the values of `0100 0000` in 1's complement and signed magnitude ? what are the values of `1000 0000` in 1's complement and signed magnitude ?

OpenStudy (curry):

for the first one: one complement = 0100 0000 signed magnitude = 64 second one: one complement = 1111 1111 signed magnitude = 0 ?

ganeshie8 (ganeshie8):

tell me all the values in decimal form

OpenStudy (curry):

for the first one it'll be 64 both times. second: -64, 0

ganeshie8 (ganeshie8):

you're correct about first one being 64 in both systems second one is wrong, try again

OpenStudy (curry):

wait positive 64 and 0.

ganeshie8 (ganeshie8):

what are the values of `1000 0000` in 1's complement and signed magnitude ? #1's complement system : since the left most bit is `1`, we need to take 1's complement of this for the value and put minus sign. 1's complement = 0111 1111 = 127 so the value is \(\large -127\) #signed magnitude system : since the left most bit is `1`, the value is simply \(\large -0\)

ganeshie8 (ganeshie8):

so what do you notice ? what exactly is the difference between '"ones complement system" and "signed magnitude system" ?

ganeshie8 (ganeshie8):

http://gyazo.com/ee939ee2e32939bec143ee78b1d6afd1

OpenStudy (curry):

well just with respect to the left most bit, it's the same for positive numbers.

OpenStudy (curry):

OOO! so if i have a binary number, and if it's positive, for one/two complement and signed magnitude, it'll be the same.

OpenStudy (curry):

if there is a one in front of the binary, then i flip all the bits, calculate new decimal value, and add negative number.

OpenStudy (curry):

and for two's compliment, i write teh number as positive first, flip all the bits, and add 1.

OpenStudy (curry):

do i have this right?

ganeshie8 (ganeshie8):

Exactly!

ganeshie8 (ganeshie8):

coming back the original question, whats the smallest number in 1's complement system using 8 bits ?

OpenStudy (curry):

-127?

ganeshie8 (ganeshie8):

Yes \[-127 = 1000~0000\] this is the smallest number in 1's complement system using 8 bits

ganeshie8 (ganeshie8):

using \(8\) bits, it seems we can express the numbers from \(-(2^{7}-1)\) to \(2^7-1\) ?

OpenStudy (curry):

yes.

OpenStudy (curry):

so for the biggest number would it be, 1111 1110?

ganeshie8 (ganeshie8):

left most bit = 1, so thats a negative number think a bit, how can a negative number be the biggest ?

OpenStudy (curry):

no 1111 1110 is in one's complement. so in just binary, it'd be 0000 0001.

ganeshie8 (ganeshie8):

1111 1110 = -1

ganeshie8 (ganeshie8):

how do you say -1 is the biggest number ?

OpenStudy (curry):

so if it doesn't matter when it's a positive number, would it be 0111 1111, which is 128?

OpenStudy (curry):

sorry, 127.

ganeshie8 (ganeshie8):

thats right, 127 is the biggest number using 8 bits in 1's complement system

OpenStudy (curry):

oh so it's just that simple? 1111 1111 , 0111 1111?

OpenStudy (curry):

How would I do it for tw's complement? or should i post this as a new question?

ganeshie8 (ganeshie8):

wait, ``` oh so it's just that simple? 1111 1111 , 0111 1111? ``` what are you trying to say here

OpenStudy (curry):

so in one's complement, to find the greatest and smallest number given n bits, it's always 2^(n-1) -1

OpenStudy (curry):

wait positive and negative 2^(n-1) -1.

ganeshie8 (ganeshie8):

thats right, but what has that do with `1111 1111 ` ?

ganeshie8 (ganeshie8):

`1111 1111 ` = 0 right

OpenStudy (curry):

oh sorry, i meant 1000 0000.

ganeshie8 (ganeshie8):

now that makes sense, yeah `1000 0000` is the least number and `0111 1111` is the max number in 1's complement system using 8 bits

OpenStudy (curry):

oh ok, this makes a lot of sense now, thanks!!

ganeshie8 (ganeshie8):

good, sry to ask too many questions but do you happen to know why signed magnitude is not so good for representing numbers in a computer ?

OpenStudy (curry):

no, i don't. why?

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!