dlmwrite is printing the wrong number

dlmwrite('a.txt',288230387962871929,'precision',40);
Creates a file with one number listed:
288230387962871940
I thought this might be due to using a 32-bit version of MATLAB. I then tried with a machine running 64-bit MATLAB, I got:
288230387962871936
Why doesn't it print 288230387962871929 like I asked it to ?

回答(1 个)

The reason it is writing ‘288230387962871936’ instead of ‘288230387962871929’ is explained by the error the ‘qd’ calculations throws in this code snippet:
qb = dec2bin(288230387962871929);
qd = bin2dec(qb);
Error using bin2dec (line 35)
Binary string must be 52 bits or less.

类别

帮助中心File Exchange 中查找有关 Call Web Services from MATLAB Using HTTP 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by