필터 지우기
필터 지우기

type conversion, precision loss

조회 수: 1 (최근 30일)
Stefan
Stefan 2014년 1월 6일
답변: Walter Roberson 2014년 1월 6일
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?

답변 (2개)

Azzi Abdelmalek
Azzi Abdelmalek 2014년 1월 6일
편집: Azzi Abdelmalek 2014년 1월 6일
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 2014년 1월 6일

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by