Linux BC: десятичное / плавающее вычисление НЕ точное - PullRequest
0 голосов
/ 02 ноября 2011

Я пишу программу командной строки в BASH на Ubuntu 10.08.

Однако я обнаружил одну проблему:

VSize=`echo 370.02 \* 1024 \* 1024 |bc`
echo ${VSize}
387994091.52

Однако 370.02 * 1 024 * 1 024= 387994092

У меня установлен Python 2.6, даже python говорит:

print 370.02*1024*1024
387994091.52

Как получить точный ответ в командной строке Linux?

Это так?возможно?

Большое спасибо!

1 Ответ

4 голосов
/ 02 ноября 2011

Однако, 370,02 * 1 024 * 1 024 = 387994092

Не совсем.

>>> 387994092. / 1024 / 1024
370.02000045776367
>>> 0.00000045776367 * 1024 * 1024
0.47999999803392002

Неточный - это вы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...