# Divide Without Operators

Discussion in 'C' started by arpan, Aug 30, 2006.

1. ### arpanNew Member

Joined:
Aug 30, 2006
Messages:
2
0
Trophy Points:
0
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 plz help me

Joined:
Jul 12, 2004
Messages:
15,374
388
Trophy Points:
83
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

3. ### arpanNew Member

Joined:
Aug 30, 2006
Messages:
2
0
Trophy Points:
0
Can you give a small code for using left shift << or Right shift >> operators for dividing with any integer

4. ### kingoNew Member

Joined:
Aug 30, 2006
Messages:
11
0
Trophy Points:
0
suppose if i give my declarations like
it a=34,b=2,c;

c=a<<b;

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

Joined:
Jul 12, 2004
Messages:
15,374
388
Trophy Points:
83
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.

6. ### kingoNew Member

Joined:
Aug 30, 2006
Messages:
11
0
Trophy Points:
0
Actually i got the logic in a crude manner if b=1 it is 34*2
b=2 it is 34*4