Go4Expert

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 12:02.