4,168 views

Sign extension is a step in

1. floating point multiplication
2. signed $16$ bit integer addition
3. arithmetic left shift
4. converting a signed integer from one size to another

Can any implement it on following ?

101101
edited by
in which size do you  want change this ?

0110  i want to extend this to 8 bit

as it is sign o so positive number 00000110

if it will be like 1110 then its sign 1 so its -ve number  in 1's complement number it will be 10000110... just shift sign bit to msb of extended form ...

and in 2's number representation it will 11111110 ... as 2's complement  is weighted ..so simply write sign bit in all places from msb to extra bit in extended form

I think even option D is not completely correct because

1. If the sign number is positive then it will work fine  e.g. 0101 = + 5 (4 bit) ---> 00101 = + 5 (5 bit)
2. If the sign number is negative then it won’t work e.g. 101 = -1 (3 bit) ----> 1101 = – 5 (4 bit)

### Subscribe to GO Classes for GATE CSE 2022

(D) is the answer. Sign extension (filling the upper bits using the sign bit) is needed while increasing the number of bits for representing a number. For positive numbers, $0$ is extended and for negative numbers $1$ is extended.

by

also used in Airthmetic right shift.
i think it is used to increase no of bits.

rajoramanoj, only increasing the number of bits is not enough along with it  we  also have to maintain the sign of number.

https://andybargh.com/binary-sign-extension/

Sign extension is also used in arithmetic right shift.

It is used if we want to store one register value into another register.

for example if we want to transfer a register value which can store 8 bits into register which can store 16 bits in that case we have

to fill the empty bits in 16 bits register with signed values
D it is used to increment the number of bits of a number