|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQLВы подумайте: число number хранится как мантисса и экспонента. "Чо?" Теперь я просто требую ссылку на доку где такое написано. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 16:51 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL Dimitry Sibiryakov пропущено... Ты не поверишь, но number это тип с фиксированной точкой. И тебе ещё многое, очень много предстоит узнать о загадочном миру компьютеров. Мне тут как-то неудобно. Ссылкой на доки тыкать не хочется, вы их наверняка читали. Вы подумайте: число number хранится как мантисса и экспонента. Какие числа хранятся таким способом? Щас тебя будут бить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 16:52 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Dimitry Sibiryakov & НеофитSQL, мне всегда казалось, что Number это BCD или ошибаюсь ? p.s. вроде не "чистое" BCD (т.к. не ровно 4 бита на знак), но арифметика должна быть BCD "подобная". IMHO Я не знаю, есть ли официальное определение для BCD, имплементации оракла соответствует "неупакованному сотенному формату", где в каждом байте мантиссы лежит одна цифра основания 100. Это до ействительно похоже на неупакованный BCD, где в каждом байте содержится одна цифра основания 10, обладает многими свойствами BCD и вычисления также похожи. Экспонента (обязательная) закодирована в двоичном формате. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 16:59 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov НеофитSQLВы подумайте: число number хранится как мантисса и экспонента. "Чо?" Теперь я просто требую ссылку на доку где такое написано. https://docs.oracle.com/cd/A97630_01/appdev.920/a96584/oci03typ.htm "The first byte is the exponent and is followed by 1 to 20 mantissa bytes." ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 17:02 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
mayton НеофитSQL пропущено... Мне тут как-то неудобно. Ссылкой на доки тыкать не хочется, вы их наверняка читали. Вы подумайте: число number хранится как мантисса и экспонента. Какие числа хранятся таким способом? Щас тебя будут бить. "В чем сила, брат?" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 17:03 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL mayton пропущено... Щас тебя будут бить. "В чем сила, брат?" Давай начнем от Адама и Евы. Ты знаешь почему существует разделение на научные типы данных и финансовые? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 17:27 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL Это до ействительно похоже на неупакованный BCD, где в каждом байте содержится одна цифра основания 10, обладает многими свойствами BCD и вычисления также похожи. Разницу с decimal128 ( IEEE 754-2008 ) указать сумеете? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 18:13 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL"The first byte is the exponent and is followed by 1 to 20 mantissa bytes." Действительно, они назвали scale мантиссой. Ок... Тем не менее это не отменяет факта, что number это таки scaled integer, а не floating-point. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 18:14 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov что number это таки scaled integer, а не floating-point. Number - классический floating point с десятичной степенью, decimal128. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 19:57 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
andrey_anonymous, откуда ты взял связь между NUMBER и decimal128 ? Последний даже по диапазону целой части не покрывает возможности NUMBER. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 20:06 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
mayton andrey_anonymous, откуда ты взял связь между NUMBER и decimal128 ? Последний даже по диапазону целой части не покрывает возможности NUMBER. Table 3.7—Extended format parameters for floating-point numbers Ну и структура какбэ намекает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 20:27 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
andrey_anonymous Number - классический floating point с десятичной степенью, decimal128 * * а-ля decimal128 - очепятко, вводящее в заблуждение, сорри. Тут надо пояснить, что oracle number появился немного раньше IEEE 754-2008 и не может в точности ему соответствовать. Принцип, однако, тот же. Нормализованная BCD-мантиса, основание степени - 10. Из заметных отличий - мантисса переменной длины, сложности с поддержкой NaN и +-inf ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 21:11 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
mayton НеофитSQL пропущено... "В чем сила, брат?" Давай начнем от Адама и Евы. Ты знаешь почему существует разделение на научные типы данных и финансовые? Я не знаком с таким терминами, но мне известно что number считается удобым для финансовых вычислений из-за точного представления десятичных дробей. NASDAQ такими глупостями не пользуется, у них в протоколе все цены целые, просто не в долларах а в базовых точках. (Basis points, надеюсь правильно перевел). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 21:41 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
andrey_anonymous НеофитSQL Это до ействительно похоже на неупакованный BCD, где в каждом байте содержится одна цифра основания 10, обладает многими свойствами BCD и вычисления также похожи. Разницу с decimal128 ( IEEE 754-2008 ) указать сумеете? Я не встречался раньше с форматом decimal-128, судя по названию он фиксированной длины. Это наверное одна из разниц. Спасибо за ссылку, почитаю вечером. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 21:49 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Хм... ну почти. Если 128 это длина разрядной сетки. И мы берем целое типа регистра SSE (который имеет точно длину 128 бит). То. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 21:52 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov НеофитSQL"The first byte is the exponent and is followed by 1 to 20 mantissa bytes." Действительно, они назвали scale мантиссой. Ок... Тем не менее это не отменяет факта, что number это таки scaled integer, а не floating-point. > scaled integer Не знаком с таким термином. Надеюсь, не придумали? С другой стороны, Оракл пишет: "Specify a floating-point number using the following form: NUMBER " ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 22:03 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
andrey_anonymous Из заметных отличий - мантисса переменной длины, сложности с поддержкой NaN и +-inf Я не знаю почему oracle решил не поддерживать NaN для типа number, но -+ бесконечность они пока ещё поддерживают, и арифметику с ними исполняют верно, даже печатают эти значения как следует, по крайней мере в 11.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 22:10 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
mayton Хм... ну почти. Если 128 это длина разрядной сетки. И мы берем целое типа регистра SSE (который имеет точно длину 128 бит). То. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
У вас ошибка в первой строчке. 38 десятичных цифр это примерно 126.2 бита. В 127 бит влезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 22:22 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Что тебе непонятно в моих расчетах? Все - в целых числах. Можешь проверить на бумажке. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 22:36 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
mayton Что тебе непонятно в моих расчетах? Все - в целых числах. Можешь проверить на бумажке. Off by one > BigInt(10).pow(39) - 1 Там надо BigInt(10).pow(38) - 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 22:45 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Если уж быть занудой, то надо брать 40, ибо внутренне мантисса может занимать до 20 байт (и даже часто занимает) Oracle гарантирует точность в 38 знаков, но для обеспечения этой гарантии использует 39 знак, т.е. 20 байт мантиссы, а там уже место и для 40 знака есть И при хранении он точно также может использовать (да и использует) 40 знаков ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 06:05 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров Если уж быть занудой, то надо брать 40, ибо внутренне мантисса может занимать до 20 байт (и даже часто занимает) Oracle гарантирует точность в 38 знаков, но для обеспечения этой гарантии использует 39 знак, т.е. 20 байт мантиссы, а там уже место и для 40 знака есть И при хранении он точно также может использовать (да и использует) 40 знаков Это так, мантисса может занимать до 20 байт памяти. Ее хватает для представления 38 цифр, т.к. 20й байт содержит сомнительные данные, которые не отображаются. 38 цифр (сомнительный довесок не в счёт) помещаются в 127 бит, о чем собственно и была речь. Разве не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 07:34 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
НеофитSQL 20й байт содержит сомнительные данные, которые не отображаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 07:37 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров Если уж быть занудой, то надо брать 40, ибо внутренне мантисса может занимать до 20 байт (и даже часто занимает) Oracle гарантирует точность в 38 знаков, но для обеспечения этой гарантии использует 39 знак, т.е. 20 байт мантиссы, а там уже место и для 40 знака есть И при хранении он точно также может использовать (да и использует) 40 знаков в блоке (на диске хранит) 39-40-й знак? Код: plaintext 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.
...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 11:38 |
|
Смысловая нагрузка идентификатора строчки
|
|||
---|---|---|---|
#18+
И ты тоже это не проверил? Или дока от 7-ки для тебя единственный учебник? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Насколько помню я 8-ке было так же Да, создать поле точностью больше 38 нельзя, но про 20 байт, четное/нечетное количество знаков было еще на сайте у Steave Adams, по материалам 7-ки ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2020, 12:00 |
|
|
start [/forum/search_topic.php?author=%D0%A1%D1%85%D0%91%D0%B4&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 281ms |
0 / 0 |