06-05-2009
There are 3 floating point types in C, as of C99:
float
double
long double
There are minimum sizes for these. The size for float on many machines is 32 bits, and for double 64 bits. On one of my machines, sizeof (long double) == 16 (128 bits).
I don't think glibc defines any new ones.
None of this is stopping you from doing your own floating point type representations using 8 or 16 bits, but you'll have to do it in the integer space and convert it. This isn't really that hard.
If you're passing these around on a network, you need to be very careful about the binary representations of these things, because there may be different floating point representations than what you're expecting.
HTH
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
As a formem unix newbe
I Just wanted to tell you about this cool site for all you confused people.
If you need to support more than one unix type:
Use this one. It's a life saver.
http://www.unixguide.net/unixguide.shtml
here (4 Replies)
Discussion started by: sunbird
4 Replies
2. Shell Programming and Scripting
Hello there,
i just want to know what are the different type of shells and the main difference betwee them. The problem is that if you try to search over the net you will find a lot of information and hence you will have no enough time to read all of them.....Anyone can help with this?? (1 Reply)
Discussion started by: charbel
1 Replies
3. Shell Programming and Scripting
Can one string type variable changed into the date type variable. (1 Reply)
Discussion started by: rinku
1 Replies
4. Programming
Dear colleagues,
One of my friend have a problem with c code. While compiling a c program it displays a message like
"array type has incomplete element type". Any body can provide a solution for it.
Jaganadh.G (1 Reply)
Discussion started by: jaganadh
1 Replies
5. Solaris
how to get the raid type of a mount if I am using solaris disksuite?
thanks (1 Reply)
Discussion started by: melanie_pfefer
1 Replies
6. UNIX for Dummies Questions & Answers
Hi,
Where can I find the encoding type in a unix server ?
Thanks in advance !!! (1 Reply)
Discussion started by: risshanth
1 Replies
7. UNIX for Dummies Questions & Answers
I would like to print value of key generate like this....
key_t k = ftok(".",'c');
printf("key is %d \n" , k);
Is there other way to print this type. I dont think I am getting right output which is
key is 1662074913 (shouldn't it be 6362074913) since 'c' is 63 in hex (ascii table).... (2 Replies)
Discussion started by: joker40
2 Replies
8. Windows & DOS: Issues & Discussions
Hello All
Is there a way I can find out the type of RAM (DDR1 or DDR2 or DDR3), I'm using withoout opening the cabinet?
Any Windows command?
Thanks in advance. (5 Replies)
Discussion started by: tenderfoot
5 Replies
9. Programming
In C++, how can I change the type with another name
For example
How can I declaring an object real which would be the same as declaring it float (5 Replies)
Discussion started by: kristinu
5 Replies
LEARN ABOUT ULTRIX
ffloor
floor(3m) floor(3m)
Name
floor, ffloor, fabs, ceil, ceil, trunc, ftrunc, fmod, rint - floor, absolute value, ceiling, truncation, floating point remainder and
round-to-nearest functions
Syntax
#include <math.h>
double floor(x)
double x;
float ffloor(x)
float x;
double ceil(x)
double x;
float fceil(x)
float x;
double trunc(x)
double x;
float ftrunc(x)
float x;
double fabs(x)
double x;
double fmod (x, y)
double x, y;
double rint(x)
double x;
Description
The and routines return the largest integer which is not greater than x for double and float data types, respectively.
The and routines return the smallest integer which is not less than x for double and float data types, respectively.
The and routines return the integer (represented as a floating-point number) of x with the fractional bits truncated for double and float
data types respectively.
The routine returns the absolute value |x|.
The routine returns the floating point remainder of the division of x by y: zero if y is zero or if x/y would overflow; otherwise the num-
ber f with the same sign as x, such that x = iy + f for some integer i, and |f| < |y|.
The routine returns the integer (represented as a double precision number) nearest x in the direction of the prevailing rounding mode.
In the default rounding mode, to nearest, is the integer nearest x with the additional stipulation that if |rint(x)-x|=1/2 then is even.
Other rounding modes can make act like or or round towards zero.
Another way to obtain an integer near x is to declare (in C)
double x; int k; k = x;
The C compiler rounds x towards 0 to get the integer k. Also note that, if x is larger than k can accommodate, the value of k and the
presence or absence of an integer overflow are hard to predict.
The routine is in libc.a rather than libm.a.
See Also
abs(3), ieee(3m), math(3m)
RISC floor(3m)