Представить самое большое число во Вселенной без потери точности
Позвольте мне спросить вас
Какой тип данных вы выберете для присвоения и обработки 100 000 цифр числа Пи?
Эммм… с плавающей запятой, десятичное число,… BigNumber… не уверен !!
Какой результат вы ожидаете, если вычесть 0,1 из 0,3?
0,2, но я не уверен, почему это 0,19999999999999998.
> var x = 0.3 - 0.1 undefined > x 0.19999999999999998
Какую кодировку вы будете использовать для представления / хранения строки Emoji?
Как вы решите, следует ли использовать тип данных с плавающей запятой или десятичный?
9007199254740992 не кажется очень большим… подождите !! в нем нет десятичной точки. Разве мне не следует использовать длинный тип данных?
Какой тип данных или кодировку символов вы выберете, если вас очень беспокоит хранилище?
Эммм… UTF-32… нет, подождите !! это зависит.
Возможно, следующее занятие поможет вам лучше ответить.
Стандарт BigBit рассматривает 1 байт как бит. Так что вы тоже можете называть его форматом ByteBit. Стандарт BigBit определяет 3 числовых типа данных и 1 кодировку символов.
Числовой тип данных
Стандарт BigBit определяет 3 числовых типа данных: LB, HB, EHB.
- Формат связанных байтов: он может представлять любое положительное не дробное число во вселенной.
2. Формат байта заголовка: может представлять любое число от -13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095
до `13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095
.
3. Расширенный формат байта заголовка: он может представлять любое число во вселенной.
Преимущества
- Вы можете хранить любое число во вселенной.
- Любое сохраненное число можно получить без потери точности. Проверьте 9007199254740992.
- Они сравнительно меньше в памяти, чем число, представленное в формате IEEE 754. Проверьте 128.
Кодировка символов
В стандарте BigBit для кодировки символов используется формат LB, указанный выше. Для всех юникодов существует единая кодировка.
Преимущества
- Он занимает такое же пространство, как UTF-8, для всех символов ASCII от 0 до 127. Отметьте а.
- Он занимает меньше места, чем любая кодировка UTF для любого другого символа или юникодов. Проверить на 💩😃😭
Полезные ссылки
- Онлайн-инструмент для прикрытия и сравнения.
- Пакет npm
- "Технические характеристики"
Если у вас есть какие-либо вопросы или отзывы о стандарте BigBit, пожалуйста, прокомментируйте.
Обратная связь
Отзывы важны для понимания того, как я могу улучшить и принести больше полезных материалов. Пожалуйста, хлопайте в ладоши по этой статье, прокомментируйте здесь, поделитесь с друзьями или, пожалуйста, поставьте звезду вышеупомянутым репозиториям github.