Effacer les filtres
Effacer les filtres

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

2 vues (au cours des 30 derniers jours)
Matt H
Matt H le 23 Juil 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 commentaire
Matt H
Matt H le 23 Juil 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

Connectez-vous pour commenter.

Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by