Что означает 8.309618000000001D-02 в QBASIC - PullRequest
3 голосов
/ 19 января 2011

У меня есть программа QBASIC, которая в основном состоит из формул и констант, и я хочу перевести формулы и константы в программу на C ++.Так как формулы не являются ракетостроением и программа хорошо документирована, у меня нет проблем с переводом программы, хотя я раньше не использовал и не видел QBASIC.

Однако есть инициализация переменной, которая читает abc(15) = 9.207134000000001D-02, и я не уверен, как интерпретировать D-02 думаю Я должен перевести это как abc[15] =0.09207134...., но я хотел бы проверить, правильно ли это.

Ответы [ 2 ]

3 голосов
/ 19 января 2011

Если я правильно помню, D-02 означает десять раз, возведенных в степень минус 2.

Так 8.309618000000001D-02 = 8.30961800000000 x 10 ^ (- 2)

что примерно равно 0,08309618

Я также думаю, что D означает, что тип числа является двойным.

РЕДАКТИРОВАТЬ: Прошло много лет с тех пор, как я написал любой код QBASIC

1 голос
/ 29 января 2012

Да, он прав, D означает, что число является двойным, а -2 после D означает, что оно умножено на 10 до степени отрицания 2, что означает, что оно равно 0,08309618 с точностью до чисел двойной точности qbasics, которые 52 или 54 бита, если я правильно помню

...