C, 313 characters
The four functions are
s = sum,
d = difference,
p = product, and
q = quotient.
P is an internal helper function used by
p, and is not part of the API. (Note that despite
q's definition, it should be invoked with only two parameters.)
Please note that
q do not work by iterative addition/subtraction, but actually do the bitwise computation. (Otherwise
q could be significantly shorter.) Thus their running time is a respectable O(log N).
All four functions accept the full range of positive and negative integers as inputs. Dividing by zero will produce an infinite loop, since there's no portable way to raise the appropriate exception.
Special note for C standards lawyers: The code assumes that sizeof(long) is strictly greater than sizeof(int), which is true more often these days than it used to be. If longs and ints are the same size, however, and the implementation sign-extends on right-shift (as most do), then
q's valid input range is decreased such that the absolute value of the second argument cannot have its highest (non-sign) bit set. (Since dividing by such values can only be equal to zero or one, this isn't too much of a restriction in practice.)