floating-point

How To Represent 0.1 In Floating Point Arithmetic And Decimal

I am trying to understand floating point arithmetic better and have seen a few links to 'What Every Computer Scientist Should Know About Floating Point Arithmetic' I still don't understand how a number like 0.1 or 0.5 is stored in floats and as decimals Can someone please explain how it is laid out is memory I know about the float be...

What does this C idiom mean?

Possible Duplicate: John Carmacks Unusual Fast Inverse Square Root (Quake III) I came across this piece of code a blog recently - it is from the Quake3 Engine. It is meant to calculate the inverse square root fast using the Newton-Rhapson method. float InvSqrt (float x){ float xhalf = 0.5f*x; int i = *(int*)&x; i ...

C++ doubles: dividing by 100 causes very small error

I'm having a problem with the specific set of values in this code snippet. double inputs[] = {0, -546543, 99015, 6750, 825, 2725, 70475, 50950, 42200, 6750, 26925, 16125, 134350, 10075, 79378}; double result = 0; for (int i = 0; i < 15; i++) { result += inputs[i]/100; } I expected the final value of result to be 0. And if I t...

Handling Massive (high precision) Floats in Ruby

I'm making an application which is listening to prices being updated regularly, but occasionally my data source throws me something like "1.79769313486232e+308". The numbers that get sent will never by really big numbers (eg. "179769313486232e+308"), but as with the example above, they come with a lot of precision. I'd be happy to drop ...

Converting a Python Float to a String without losing precision

I am maintaining a Python script that uses xlrd to retrieve values from Excel spreadsheets, and then do various things with them. Some of the cells in the spreadsheet are high-precision numbers, and they must remain as such. When retrieving the values of one of these cells, xlrd gives me a float such as 0.38288746115497402. However, I n...

Fast float to int conversion and floating point precision on ARM (iPhone 3GS/4)

Hi, I read (http://www.stereopsis.com/FPU.html) mentioned in (http://stackoverflow.com/questions/78619/what-is-the-fastest-way-to-convert-float-to-int-on-x86). Does anyone know if the slow simple cast (see snippet below) does apply to ARM architecture, too? inline int Convert(float x) { int i = (int) x; return i; } To apply some ...

Floating point rounding (in java)

What is the best way of determining if a given float(or double) has no significant decimal places. f(234.0) = true f(34.45) = false f(3.1322) = false i.e. equivalent of EQ(((int)number) * 1.0 , number) where EQ is a given method to compare floating points and it is OK to assume that the float fits in an integer. ...

Decimal Conversion Ranges in the IEEE 754 Specification (Binary Floating-Point Arithmetic)

Table 2 in section 5.6 on the bottom of page 11 of the IEEE 754 specification lists the ranges of decimal values for which decimal to binary floating-point conversion must be performed. The ranges of exponents don't make sense to me. For example, for double-precision, the table says the maximum decimal value eligible to be converted is (...

Rounding in PHP

$a = ((0.1 + 0.7) * 10) == (int)((0.1 + 0.7) * 10); PHP returns false. Could anybody explain me, why that happens? First returns 8, second 7. ...

java code to display a floating point value in specified format in jasper report

The value 13.10 is printed as 13.1 in my jasper report , I want to print it as 13.10 itself , How to do it .The corresponding JRXML statement is <textFieldExpression class="java.lang.Float"><![CDATA[$F{temp_bill_tax}]]> </textFieldExpression> ...

float to fixed conversion with different scaling factors.

Hi Can anyone please let me know What will be the difference between these approcahes when I convert fixed to float and float to fixed. a) int a=32767; float b = 32765*(1/32767) // 16 bit scaling factor int c = b*32767; b) int a=32767; float b = 32765*(1/1.0) // scaling factor=1 int c = b*1; a) int a=32767; float b = 32765*(1/0x800...

Practices to limit floating point accuracy problems

As programmers, most (if not all of us) know that floating point numbers have a tendency to not be very accurate. I know that this problem can't be avoided entirely, but I am wondering if there are any certain practices, patterns, etc. that can be used to at least reduce floating point errors. Thanks in advance. ...

Obtain minimum NEGATIVE float value in C++

I was looking at std::numeric_limits<float>::min/max() but it appears 'min()' returns the smallest absolute value, not the lowest value. Is it safe to use -std::numeric_limits<float>::max(), i.e is float symmetric in min/max limits? ...

Java: how to check that a string is parsable to a double?

Is there a native way (preferably without implementing your own method) to check that a string is parsable with Double.parseDouble()? ...

Avoiding rounding in convert.tosingle method

consider , object a =1.123456; float f = convert.ToSingle(a); But when I print the value of f , I get 1.123455. It is getting rounded off. Also the problem is I cant change the data type of float in the code. Please help. ...

Difference between double comparisons in gtest (C++) and nunit (C#)

I have done porting of a c++ project with gtest tests to a c# project having an nunit test. Now I encounter problems with floating point precision. in the nunit test I have being not ok (red) Assert.AreEqual(0.7, 7 * 0.1); in the gtest test I have: ASSERT_DOUBLE_EQ(0.7, 7 * 0.1); which is ok (green) The question now is WHY??? ...

C++ / C# differences with float and double

We are converting a C++ math library to C#. The library mixes the use of floats and doubles (casting between them sometimes) and we are trying to do the same, in order to get the exact same results in C# that we had in C++ but it is proving to be very difficult if not impossible. I think the problem is one or more of the following, but ...

Which algorithms benefit most from fused multiply add?

fma(a,b,c) is equivalent to a*b+c except it doesn't round intermediate result. Could you give me some examples of algorithms that non-trivially benefit from avoiding this rounding? It's not obvious, as rounding after multiplications which we avoid tends to be less problematic than rounding after addition which we don't. ...

Why no unsigned floating point types?

Possible Duplicate: Why doesn't C have unsigned floats? The question is probably very basic and probably answered many time earlier, but I want to understand why C++ does not have unsigned floating point types, even though floating point literals can be signed or unsigned. $3.9.1/8- "There are three floating point types:...

Subtracting Decimal Values (Assembly)

How do I subtract a decimal value in assembly. IA32 (linux) 1: mov edx, 1/2 sub ecx, ebx sub ecx, edx mov bal2, ecx I tried this but it some how skips the subtraction with the decimal. And if I enter .5 it gives me an error. error:junk `.5' after expression ...