12-09-2013
Floating point numbers do not have infinite precision. They are a fixed number of bits multiplied by two to a mantissa. If you keep adding zeroes, sooner or later it will run out of space in the base number and have to truncate(not round) and increase the mantissa instead.
If you require calculation with infinite precision, the bc utility does exactly this.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello again.
I'm trying to use BC to calculate some numbers in a shell script.
I want to have the numbers rounded off to 1 decimal place.
for example:
initsize=1566720
zipsize=4733
I'm trying to get the ratio between them. the equation is:
(($initsize-$zipsize)/$initsize)*100
so... (3 Replies)
Discussion started by: noodlesoup
3 Replies
2. UNIX for Dummies Questions & Answers
Hi,
Can any one help me in finding a solution for rounding off to 2 decimal places.
I am using the following code:
VAR1=.01292105263157894736
VAR2=`echo "scale=2; $VAR1 * 100" | bc -l`
The result I 'm getting is
1.29210526315789473600
But I need the output as 1.29
Thanks
Shash (2 Replies)
Discussion started by: shash
2 Replies
3. Shell Programming and Scripting
Hello,
I searched a lot on this Forum.
Please help me with the below problem.
I want to divide two numbers and the result should be the next nearest whole number.
E.G. Dividing 10.8/5 ideally gives 2.16. But the result should be 3 i.e. rounded off to the next whole number.
Any help will... (2 Replies)
Discussion started by: damansingh
2 Replies
4. Linux
I need some help with my rouding script. I have started pretty much from scratch and have no idea if its correct or even close but I have been trying and have gotten to this point. i keep getting syntax errors and im not sure what is wrong. Here is what I got
let value=$1;
while
do
let... (0 Replies)
Discussion started by: kingrj46
0 Replies
5. Shell Programming and Scripting
I need some help with my rouding script. I have started pretty much from scratch and have no idea if its correct or even close but I have been trying and have gotten to this point. i keep getting syntax errors and im not sure what is wrong. Here is what I got
let value=$1;
while
do
let... (4 Replies)
Discussion started by: kingrj46
4 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I am currently using tcsh
I am trying to round a decimal number to the ten-thousandths place
For instance:
1.23456 is rounded up towards 1.2346
I am not looking for truncation, but for rounding. Anyone know how to do this with awk or expr?
Thanks (2 Replies)
Discussion started by: miniwheats
2 Replies
7. Shell Programming and Scripting
Hi,
I have managed to round up numbers by using the following command:
echo "5.54" | awk '{printf "%.0f\n", $1}'
result
6
How can I round up all the numbers in a column in a file and print the lines with the new calculated totals?
Thanks, (3 Replies)
Discussion started by: keenboy100
3 Replies
8. Shell Programming and Scripting
Dear Experts,
I'm trying to find a way to round a number but in this way:
14367.577 ---> 14000
I used the following to round the number to the closer integer:
echo $var|awk '{print int($1+0.5)}'
and also:
xargs printf "%1.0f"
However, they don't work for my above... (9 Replies)
Discussion started by: Gery
9 Replies
9. Shell Programming and Scripting
Hi guys,
could someone throw some light on the following behaviour of printf (I'll start with info about the system and the tool/shell/interpreter versions)?:
$ uname -a
Linux linux-86if.site 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64... (9 Replies)
Discussion started by: elixir_sinari
9 Replies
10. UNIX for Dummies Questions & Answers
How to round off a decimal number to higher whole number using ceil command in unix?
Eg. 4.41 or 4.11 or 4.51 should be rounded off to 5. (11 Replies)
Discussion started by: SanjayKumar28
11 Replies
LEARN ABOUT OPENSOLARIS
values
values.h(3HEAD) Headers values.h(3HEAD)
NAME
values.h, values - machine-dependent values
SYNOPSIS
#include <values.h>
DESCRIPTION
This file contains a set of manifest constants, conditionally defined for particular processor architectures.
The model assumed for integers is binary representation (one's or two's complement), where the sign is represented by the value of the
high-order bit.
BITS(type) The number of bits in a specified type (for example, int).
HIBITS The value of a short integer with only the high-order bit set.
HIBITL The value of a long integer with only the high-order bit set.
HIBITI The value of a regular integer with only the high-order bit set.
MAXSHORT The maximum value of a signed short integer.
MAXLONG The maximum value of a signed long integer.
MAXINT The maximum value of a signed regular integer.
MAXFLOAT, LN_MAXFLOAT The maximum value of a single-precision floating-point number, and its natural logarithm.
MAXDOUBLE, LN_MAXDOUBLE The maximum value of a double-precision floating-point number, and its natural logarithm.
MINFLOAT, LN_MINFLOAT The minimum positive value of a single-precision floating-point number, and its natural logarithm.
MINDOUBLE, LN_MINDOUBLE The minimum positive value of a double-precision floating-point number, and its natural logarithm.
FSIGNIF The number of significant bits in the mantissa of a single-precision floating-point number.
DSIGNIF The number of significant bits in the mantissa of a double-precision floating-point number.
SEE ALSO
Intro(3) math.h(3HEAD)
SunOS 5.11 2 Mar 1993 values.h(3HEAD)