Solved

# Imitating % for ints

Posted on 2004-09-13
248 Views
Hi,

I need to imitate the '%' operator that C offers.
But I also need it to work with floats.
The floats isn't the problem.
What I need it the code that imitates '%' (for negative number too, of course).

0
Question by:slavikn
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 4
• 4

LVL 46

Expert Comment

ID: 12043191
How far did you get yourself? Converting a number to a string isn't too difficult.
0

LVL 1

Author Comment

ID: 12043207
strings? hmm....

while (a >= b)
a -= b;

but this doesn't work if a and b are negative.
0

LVL 46

Accepted Solution

Sjef Bosman earned 25 total points
ID: 12043260
Ahem :-\$ sorry! I thought you meant the % in printf... Never mind...

a%b = a-(int)(a/b)*b

where \ is the integer divide operator. Try if it works for negative numbers.
0

LVL 1

Author Comment

ID: 12043509
> Try if it works for negative numbers.

Yes, it does. Thanks!
0

LVL 1

Author Comment

ID: 12045120
heh   :-D
'fmod' from 'math.h' does exactly the same  :-))
'man pages' say it uses same formula  :-))
0

LVL 46

Expert Comment

ID: 12045371
They didn't get it from me ;-)  Nor did I do a man fmod, but maybe I will...
0

LVL 1

Author Comment

ID: 12045445
Heh ;-)   I wrote this to say two things:
:-)))
0

LVL 46

Expert Comment

ID: 12045663
Better to use fmod, since converting to int will not work for numbers that go beyond integer precision. Probably fmod is then defined as a-floor(a/b)*b. Or so.

Sjef :)
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to useâ€¦
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see soâ€¦
The goal of this video is to provide viewers with basic examples to understand and use pointers in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.
###### Suggested Courses
Course of the Month6 days, 9 hours left to enroll