type conversion, precision loss
Ältere Kommentare anzeigen
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?
Antworten (2)
Azzi Abdelmalek
am 6 Jan. 2014
Bearbeitet: Azzi Abdelmalek
am 6 Jan. 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
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!