suppose i want to do shift left opeartion on

x=1010

y=x<<1

it will shift left the value

& make x=0100 but how can i store that

shifted value... in other variable...?

6
Contributors
6
Replies
7
Views
9 Years
Discussion Span
Last Post by MosaicFuneral

y=x<<1

it will shift left the value

& make x=0100 but how can i store that shifted value... in other variable...?

Uh... you say: y = x << 1 right? So what do you think 'y' is? Holy cow it's another variable! So you already stored in another variable. problem solved kthxbye! :icon_wink:

suppose i want to do shift left operation on

x=1010

y=x<<1

it will shift left the value

& make x=0100 but how can i store that

shifted value... in other variable...?

1. l x=10;
and left shifting the bits once does not give you 0100
but 10100(ie.20)

2.If you want the output to be converted into a binary format
you can try out something like this:

A)If the input_number is greater than 0,
input_number%2 and store the remainder in an array('char'of sufficient size)

B)Divide the input_number by 2.Goto Step A

Place a delimitter such as a'\0' at the end.

The only disadvantage being the binary number so obtained is
reversed
Use a reverse counting loop to get the binary content.

suppose i want to do shift left opeartion on

x=1010

y=x<<1

it will shift left the value

& make x=0100 but how can i store that

shifted value... in other variable...?

Minimum data in most computers is a byte hence I think you mean
x=00001010 which is decimal 10 and when you say y=x<<1 the value of y is 00010100 which is decimal 20. x does not change its value when you say y=x<<1, so your original statement is doing precisely what you want.

sorry for mistake but my actually question is,

i want to make one program binary no.s multiplication

(using register method)

i have to follow some rules,

no1=1010

no2=0101

Rules are:

store no1 in 8-bit register (like this way)

no1=10100000

then have to perform shift left opration on it. (shift only one bit)

so,
no1=01000000

if shifted no. is 1 then add no2 with no1

like

no1=01000000
+
no2=00000101 (have to store no2 like this way)

no1=01000101

then agin do shift left operation ...

if shifted value is 1 than add no2 if not then add 0

repeat this process four time

i wann make program for this purpose

so how can i get that shifted bit value (if it 1 or 0)

becaues basis on this opeation is perfomed

there are many registers available in the compiler into which you can store directly your numbers.

@nitu: Do you know how to use any other bit-operators?

@ajay: I believe you mean, computer. Regs are for brief usage, not storage.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.