binary - Sign magnitude, One's complement, Two's Complement -


so professor has question make list of positive , negative numbers can represented in one's, two's complements, , sign magnitude:

using 4 bit numbers, example (5)10 = ( 0101)2 write positive numbers , negative numbers can represented 4 bits in sign-magnitude, one’s complement, , two’s complement.

now, not looking answer clarification.

  • for sign magnitude, first bit represents sign of number. in example provided, negative 5 -5= (1101), ones complement = (0101) twos complement (1010)
  • sign magnitude allows 3 bits show number , 1 sign (the leading bit right left.) mean have 8 combinations. numbers 0-7 , -0- (-6) ones , twos have 16? 0-15 , -0-(-15)

can explain question better?

here's brief description 3 representation techniques you've mentioned.

sign , magnitude representation

in representation, can represent numbers in number of bits (powers of 2). there 2 parts in representation. sign , magnitude, name implies.

if want represent number in n number of bits,

  • the first bit represents sign of number. i.e. 0 positive number , 1 negative number.
  • the remaining bits (n-1) represent magnitude of number in binary.

e.g. if want represent +25 , -25 using 8 bits: (+25)10 = 0011001 , (-25)10 = 10011001

complement

since binary number system has 2 digits (0 , 1), complement of 1 digit other. i.e. complement of 0 1 , vice versa.

one's complement

in representation, there no specific bit represent sign, msb (most significant bit) can used determine sign of number. i.e. msb 0 if number positive , 1 if number negative. binary numbers used , specific bit size used. (e.g. 8, 16, 32, etc. bits).

  1. if number positive

    • convert number binary
    • set number specific bit size
  2. if number negative

    • convert number binary
    • set number specific bit size
    • get complement of value

e.g. take previous example again

  • (+25)10
    • convert number binary -> (11001)2
    • set number specific bit size -> (0001 1001)
  • (-25)10
    • convert number binary -> (11001)2
    • set number specific bit size -> (0001 1001)
    • get complement of value -> (1110 0110)

two's complement

this representation technique similar one's complement representation. main difference when number negative, 1 added lsb (least significant bit) after getting complement.

e.g. let take same example

  • (+25)10
    • convert number binary -> (11001)2
    • set number specific bit size -> (0001 1001)
  • (-25)10
    • convert number binary -> (11001)2
    • set number specific bit size -> (0001 1001)
    • get complement of value -> (1110 0110)
    • add 1 lsb -> (1110 0110) + 1 = (1110 0111)

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -