Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Divide Without Operators (http://www.go4expert.com/forums/divide-without-operators-t1303/)

 arpan 30Aug2006 11:09

Divide Without Operators

I am a 1st year Electronics & Comm Engineering Student
i've been programming in c for 2 years....

I have been told by my senior to

write a c code for Dividing two integers

but

without using any operators ie (+,-,*,/)

get the Quotient and Remainder

One can use math.h .

I cannot figure out this :confused:
plz help me

 shabbir 30Aug2006 11:30

Re: Divide Without Operators

Use the left shift `<<` or Right shift `>>` operators to achieve the operation.

Shift left is equivalent to a multiplication by 2.
Similarly a shift right is equal to division by 2

 arpan 30Aug2006 11:49

Re: Divide Without Operators

Can you give a small code for using left shift << or Right shift >> operators for dividing with any integer

 kingo 1Sep2006 11:57

Re: Divide Without Operators

suppose if i give my declarations like
it a=34,b=2,c;

c=a<<b;

wht wil be the value of c?????

 shabbir 1Sep2006 14:10

Re: Divide Without Operators

Binary of 34 is 100010
You are asking it for 2 left shift
So the final no would become
10001000 which is 136.

So C will have 136.

 kingo 1Sep2006 14:41

Re: Divide Without Operators

Actually i got the logic in a crude manner if b=1 it is 34*2
b=2 it is 34*4

 shabbir 1Sep2006 15:33

Re: Divide Without Operators

Yes thats true because when you shift bit by one place actually its equivalent to multiplication by 2.

 All times are GMT +5.5. The time now is 02:10.