Filter löschen
Filter löschen

Single versus double precision, what's going on here?

2 Ansichten (letzte 30 Tage)
Matt H
Matt H am 23 Jul. 2013
Why does: >> 14+18300+200000+5000000+550000000
ans =
555218314
But: >> single(14)+single(18300)+single(200000)+single(5000000)+single(550000000)
ans =
555218304
Am I missing something? Thanks!
  1 Kommentar
Matt H
Matt H am 23 Jul. 2013
Answer: In single precision, the fraction only contains 23 bits, so there 2^(23+1) for the maximum value, before you start losing precision at the integer level. So 2^24 = 16777216. >> single(16777216)
ans =
16777216
>> single(16777217)
ans =
16777216

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

dpb
dpb am 23 Jul. 2013
Hint--(a very large one :) )
single(550000000)+single(5000000)+single(200000)+single(18300)
ans = ???

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by