|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров И ты тоже это не проверил? Или дока от 7-ки для тебя единственный учебник? за dump забыл, чет сразу в дебри полез (блоки) на русском токо 7-ка есть (которую я точно читал) и курсы по 9-ке ожидал что будет округлять на 38-разряде, а ж нет 40-й берет id p1 p2 1,1/3,1/3 2,1/6,1/6 Код: plsql 1. 2. 3. 4. 5. 6. 7.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 12:39 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров НеофитSQL 20й байт содержит сомнительные данные, которые не отображаются. Когда писал на ночь, не проверил. Подтвердил в документации, и отбросил цифры 39-40 как ненадежные. С утра проверил, собирался писать поправку. Поправка: в моих неполных экспериментах с 11.2, все 40 цифр честные как для вычислений, так и для хранений в таблицах. Например, я помещал в неквалифицированый тип number целые числа возрастающей разрядности, получил ровно 40, не больше не меньше: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
Повторяющиеся нули в последних двух строчках обозначают потерю точности после 40 цифр. Мой вывод: по крайней мере в некоторых ситуациях Оракл способен точно хранить 40-значную десятичную мантиссу, как в таблице так и в памяти или переменной. Почему Оракл говорит не полагаться на последние две цифры для вычислений мне неизвестно. Возможно, во время некоторых вычислений Оракл не соблюдает 40-значную точность т.к. использует 128-битную мантиссу внутри для скорости. Полная проверка арифметики Оракла это немаленькая задача, поэтому оставляю такое предположение неподтвержденным. Итог: вопреки документации Оракла, цифры 39-40 не бесполезный довесок, а являются полноценными цифрами в целях хранения данных. 40-значная мантисса не помещается в 128-битное число, поэтому такое преобразование приведет к потери точности хранимых данных. На практике: можно забить и терять эти две цифры. Например: диаметр нашей галактики оценивается в 1е21 метров. Если кто-то считает "точную" длину окружности и потерял цифры 39-40 числа Пи, то они ошибутся на <1.5е-18 метров, что в двести раз меньше размера протона. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 17:26 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Stax в блоке (на диске хранит) 39-40-й знак? stax В моих проверках - хранит в таблице и распечатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 17:29 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL, в этом и состоит существо проблемы , приводящей к тому, что не позаботившись об об этом вопросе самостоятельно, вы становитесь рабом однажды написанного конкретного выражения. У вас нет возможности "оптимизировать" его методом замены на другое. Современный стандарт поощряет вычисление с большей точностью, чем позволяет структура хранения, с требованием явного заявления способа округления промежуточного результата при записи в результирующее место хранения. В оные времена, столь ясного понимания, выраженного в виде требований стандарта к реализации не было. От чего и появилась "лучшая из возможных" реализация oracle number. ссылку на этот топик я уже давал, вы, судя по всему, не читаете: https://www.sql.ru/forum/1315510-a/peremena-mesto-mnozhitelya-v-vyrazhenii-imeet-znachenie В отсутствии встроенного стандартного решения, вопрос превращается в головную боль не так уж и редко. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 17:43 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
booby, Далеко мы отошли от темы. Вся чехарда с number началась с совета про 'избегайте типов с плавающей точкой для индексов". Сама тема - про то, как в ключи кто-то помещает полезную им информацию, а кто-то - 1-2-3, а кто-то - GUID. Мой вывод из этого разговора, что единственного верного метода нет, у каждого есть преимущества и недостатки. Лично я собираюсь продолжать 1-2-3 в своем проекте, потому что весь проект так сделан, значит стиль такой. То, что вы интересуетесь численными методами, это хорошо. Я довольно хорошо с ними знаком, ввиду учебной специальности. Оракл не идеальная среда для научных вычислений, но у number внушительный размер мантиссы, и если не торопиться, позволяет посчитать многие вещи топорными методами "в лоб" без использования особых приемов. Если вас занимают задачки по численным методам, можно новую тему открыть, в программировании. Например, вы знаете как нарисовать окружность (посчитать координаты точек окружности на растровом экране) не используя арифметические операции сложнее чем +/-? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 22:17 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL, Спасибо, нет, ничего открывать не надо. Если и когда понадобится, я сам открою топик и про Безенхема и про Горнера и про то, какая связь между ними. Сам по себе, любой алгоритм бесценен. Его реальная ценность проявляется там и тогда, когда он начинает применяться в области, к которой ранее его не додумывались применять. В своём огороде я потребности рисовать круги пока не наблюдаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 22:45 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
booby, ...Брезенхема... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 22:56 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Шикин и Боресков - Компьютерная графика. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 23:40 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL как нарисовать окружность (посчитать координаты точек окружности на растровом экране) не используя арифметические операции сложнее чем +/-? На переполнениях счетчиков легко. Но с погрушностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2020, 10:47 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL как нарисовать окружность не используя арифметические операции сложнее чем +/-? Нарисуйте окружность результатом sql-запроса, почему бы и нет ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2020, 10:51 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Лучше сыграть в шахматы на sql-запросе. Но что-то мы далеко ушли от темы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2020, 11:13 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
env НеофитSQL как нарисовать окружность не используя арифметические операции сложнее чем +/-? Нарисуйте окружность результатом sql-запроса, почему бы и нет Select 'O' from dual Давайте что-то посложнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2020, 17:35 |
|
|
start [/forum/search_topic.php?author=%2F%2F%2F%2F&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 443ms |
total: | 699ms |
0 / 0 |