Borrar filtros
Borrar filtros

type conversion, precision loss

1 visualización (últimos 30 días)
Stefan
Stefan el 6 de En. de 2014
Respondida: Walter Roberson el 6 de En. de 2014
I observed a strange behaviour when working with data read from a binary file. Here a small example:
>> a=int32(1);
>> b=12.5;
>> c=a+b
c =
14
The value of c is now 14 "instead" of 13.5. Why is (int32+double) silently typecasted to int32? Tried it with different matlab versions (2010, 2011, 2012, 2013) with the same result. So maybe I just don't understand the logic behind it? I guess I'd prefere a result without precision loss?

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 6 de En. de 2014
Editada: Azzi Abdelmalek el 6 de En. de 2014
It's what Matlab do. I don't think, there is a logic behind it. If the result was double, you can ask the same question.
you can wrtie
a=int32(1);
b=12.5;
c=double(a)+b

Walter Roberson
Walter Roberson el 6 de En. de 2014

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by