Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.11.2017, 16:47
Dzzirtuoz вне форума Посмотреть профиль Отправить личное сообщение для Dzzirtuoz Найти все сообщения от Dzzirtuoz
  № 11  
Ответить с цитированием
Dzzirtuoz

Регистрация: Apr 2014
Сообщений: 17
Сомневаюсь. В справочнике адоб пишут:
MAX_VALUE Константа
public static const MAX_VALUE:Number
Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4
Наибольшее представимое число (число IEEE-754 с удвоенной точностью). Это число равно примерно 1,79e+308.

А у меня знаков вроде как меньше 308. Или я что-то не так понял в приведенном тексте.

Старый 12.11.2017, 16:56
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 12  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
твое число можно записать как
940544481142550815427045414574e-1
где
9405444.. - мантисса
-1 - порядок
Так вот, согласно IEEE-754 под мантиссу отводится 52 бита
под порядок - 11 бит
Т.е. макс. число которое может быть в мантиссе без потери точности:
2^52=
4503599627370496
а у тебя там
940544481142550815427045414574

Добавлено через 2 минуты
для справки

Старый 12.11.2017, 17:00
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 13  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Там максимум 16 цифр. Нули не в счёт. Остальные обрезаются.
Если у вас
Код:
0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
то ок, но если у вас
Код:
0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345678910111268...
Всё, что вместо троеточия обрежется.
__________________
There is no thing in this world that is not simple.

Старый 12.11.2017, 17:07
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 14  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
да ,т.к. 2^52 соответствует 16-ти десятичным порядкам

Старый 12.11.2017, 17:10
Dzzirtuoz вне форума Посмотреть профиль Отправить личное сообщение для Dzzirtuoz Найти все сообщения от Dzzirtuoz
  № 15  
Ответить с цитированием
Dzzirtuoz

Регистрация: Apr 2014
Сообщений: 17
Ага, теперь всё стало ясно. Тогда действительно кроме как разбивки на два числа, по другому не получится преобразовывать. Спасибо большое за прояснение причины обрезания!

Старый 12.11.2017, 17:15
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 16  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,269
еще как вариант разбить весь диапазон на интервалы длиной в maxInt и генерить хэши кусками, а числа сразу в виде стрингов создавать.

Старый 12.11.2017, 17:20
Dzzirtuoz вне форума Посмотреть профиль Отправить личное сообщение для Dzzirtuoz Найти все сообщения от Dzzirtuoz
  № 17  
Ответить с цитированием
Dzzirtuoz

Регистрация: Apr 2014
Сообщений: 17
Ну, я почти что-то понял )

Старый 13.11.2017, 05:37
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 18  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Может для as3 есть что-нибудь типа BigDecimal?

Старый 13.11.2017, 10:01
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 19  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Получилось нагуглить
https://github.com/maurice/BigDecimal.as
https://code.google.com/archive/p/bigdecimal/
Работоспособность не проверял
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 13.11.2017 в 10:29.
Старый 13.11.2017, 19:21
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 20  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 918
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
У вас есть 52 бита в Number для хранения мантисы. Остальное уходит на знак, порядок и прочее.
В мантисе будет лежать в данном случае 1111000011000111100001011110101011110000110001111000, а остальное будет отрезано.

При представлении в десятичном виде вышеприведённая двоичная запись должна была бы стать 0.9405444811425507367630416410975158214569091796875, но она "округлиться" 16-и знаков после запятой и в следствии этого вы получаете 0.9405444811425508
__________________
ЛОДКИ


Последний раз редактировалось FlashRus; 14.11.2017 в 01:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.