|
|
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Этот код выдаёт 7525000041,32991 или же 7.52500004132991E+0009 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. А этот выдаёт 7525000010 или же 7.52500001000000E+0009 Код: pascal 1. 2. 3. 4. 5. Какие нужны хитрости, что бы получить результаты как в первом варианте ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:18:02 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик, Вообще-то правильный именно второй вариант. Здесь проблема в точности работы с вещественными числами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:31:47 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик... Какие нужны хитрости, что бы получить результаты как в первом варианте ? Разобраться в том, как Double представляется в двоичном коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:34:24 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
НяшикЭтот код выдаёт 7525000041,32991 или же 7.52500004132991E+0009 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. А этот выдаёт 7525000010 или же 7.52500001000000E+0009 Код: pascal 1. 2. 3. 4. 5. Какие нужны хитрости, что бы получить результаты как в первом варианте ? Точно представить число 0.1 (1/10) в двоичной системе счисления невозможно. Это то же самое, если попытаться точно представить число 1/3 (она третья) в десятичной СС. Число 10.1 в Double хранится как 1010.0001100110011001100110011001100110011001100110011 - видишь, "бесконечный" период (0011) нарисовался? Если код обратно вернуть в 10 СС, получишь не 10.1, а 10.1000003814697265625. Лишние 3.814697265625E-7. А вот десятичное значение 150.5 - вполне себе укладывается в двоичном коде, ибо 0.5 - степень двойки (-1). Получается в 2-м (Double) 01000011000101101000000000000000. Преобразование обратно в 10сс вернет снова 150.5. ~~~~~~~~~~~~~~~~~ В общем, задача нерешаемая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:49:29 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
ЖышыА вот десятичное значение 150.5 - вполне себе укладывается в двоичном коде, ибо 0.5 - степень двойки (-1). Получается в 2-м (Double) 01000011000101101000000000000000. Преобразование обратно в 10сс вернет снова 150.5. :d на результатах правда не видно.. Верный результат Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Без дроби Код: pascal 1. 2. 3. 4. 5. Я уже тестировал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:52:07 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик... Я уже тестировал "Блажени чистии сердцем, яко тии Бога узрят." - (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:54:59 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
ЖышыНяшик... Я уже тестировал "Блажени чистии сердцем, яко тии Бога узрят." - (с). И к чему это интересно? Нет, конечно хорошо что вы читаете - ползаете и ищите цитатками дабы показать какой вы умный. Но это не относиться к теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 18:59:26 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
НяшикЖышыпропущено... "Блажени чистии сердцем, яко тии Бога узрят." - (с). И к чему это интересно? Нет, конечно хорошо что вы читаете - ползаете и ищите цитатками дабы показать какой вы умный. Но это не относиться к теме. Я вот тебя молоком практически из собственной натруженной груди кормлю, а ты кусаешься: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 19:11:04 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик, Какие нужны хитрости, На, балуйся: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 19:13:20 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Bred eFeM, Да это я для интерпретатора хочу сделать некую оптимизацию, дабы ускорить процесс работы К слову, даже без оптимизации, он медленнее modejs на 1.4 % Вот думал, как бы грамотно числа сложить - что бы получать верный результат. И за помощью сюда обратился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 19:18:37 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
"...интерпретатор". Считает либо быстро, либо правильно? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 19:33:58 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
чччД"...интерпретатор". Считает либо быстро, либо правильно? :) Ибо быстро, и правильно!) NodeJs как то же делает оптимизации такие... Иначе бы она не была быстрее на 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 19:39:09 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
НяшикКакие нужны хитрости, что бы получить результаты как в первом варианте ?Вместо double использовать currency. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 20:13:29 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
rgreatНяшикКакие нужны хитрости, что бы получить результаты как в первом варианте ?Вместо double использовать currency. Да всt они не отдают плавающую точку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 20:36:52 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик..они не отдают плавающую точку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 20:48:13 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
ЖышыНяшик..они не отдают плавающую точку Разница между 150.0 (1125515264) и 150.5 (1125548032) очевидно есть. В представлении long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:05:04 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
НяшикДа всt они не отдают плавающую точкуПотому что она там фиксированная. :D Ну а если надо c даблами можешь приделать принудительное округление до N-го знака после запятой, после каждой операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:07:54 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Няшик, не делай интерпретатор, ну пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:20:49 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
чччДНяшик, не делай интерпретатор, ну пожалуйста. Хороший стёб =) Он уже работает, и очень быстро. Хотя на тех же сях люди лучше не могут написать. Аналог тот же php7.1 ... Пыжиться а высратся не могут (не в обиду кому либо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:23:40 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Ты не понимаешь, как Double в памяти представлен. У тебя интерпретация без чисел с плавающей точкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:30:36 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
чччДТы не понимаешь, как Double в памяти представлен. У тебя интерпретация без чисел с плавающей точкой? Я не понимаю, почему если сделать +0.5 это не отработает так же, если сделать 5 раз по + 0.1 ... С этим соглашусь, потому что не читал спецификации. Но, в остальном мой язык проходит все математические тесты из PHP и даже на ура. Бред силой кабылы будет сейчас всё выкинуть, так как это уже годный интерпретатор, в отличии от php и lua ... Не говоря об остальных подобных (js хорош.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 21:35:46 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Короче, RoundTo - твой выбор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 22:04:24 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
Говорят, что давным-давно решили сравнить качество компиляторов фортрана на тяжелой (тогда) расчетной задаче. Все компиляторы, кроме одного, компилировали программу минут за 10 (ориентировочно), после чего расчет шел порядка полутора часов. А один компилятор компилировал несколько часов, зато ответ выдал мгновенно. Тестирующие прифигели, полезли смотреть исполняемый модуль. Оказалось, что там есть только печать числа-ответа. Поскольку в программе были все данные для расчета, то компилятор соптимизировал расчет до "нуля". Хитрый компилятор обманули путем вынесения исходных данных на внешний носитель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 23:46:03 |
|
||
|
Double inc За один раз
|
|||
|---|---|---|---|
|
#18+
bk0010Говорят, что давным-давно решили сравнить качество компиляторов фортрана на тяжелой (тогда) расчетной задаче. Все компиляторы, кроме одного, компилировали программу минут за 10 (ориентировочно), после чего расчет шел порядка полутора часов. А один компилятор компилировал несколько часов, зато ответ выдал мгновенно. Тестирующие прифигели, полезли смотреть исполняемый модуль. Оказалось, что там есть только печать числа-ответа. Поскольку в программе были все данные для расчета, то компилятор соптимизировал расчет до "нуля". Хитрый компилятор обманули путем вынесения исходных данных на внешний носитель. Разве оптимизация - сама по себе не ценна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2017, 23:50:37 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39475784&tid=2042108]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
195ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 476ms |

| 0 / 0 |
