Представить самое большое число во Вселенной без потери точности

Позвольте мне спросить вас

Какой тип данных вы выберете для присвоения и обработки 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.

  1. Формат связанных байтов: он может представлять любое положительное не дробное число во вселенной.

2. Формат байта заголовка: может представлять любое число от -13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095 до `13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084095.

3. Расширенный формат байта заголовка: он может представлять любое число во вселенной.

Преимущества

  • Вы можете хранить любое число во вселенной.
  • Любое сохраненное число можно получить без потери точности. Проверьте 9007199254740992.
  • Они сравнительно меньше в памяти, чем число, представленное в формате IEEE 754. Проверьте 128.

Кодировка символов

В стандарте BigBit для кодировки символов используется формат LB, указанный выше. Для всех юникодов существует единая кодировка.

Преимущества

  • Он занимает такое же пространство, как UTF-8, для всех символов ASCII от 0 до 127. Отметьте а.
  • Он занимает меньше места, чем любая кодировка UTF для любого другого символа или юникодов. Проверить на 💩😃😭

Полезные ссылки

Если у вас есть какие-либо вопросы или отзывы о стандарте BigBit, пожалуйста, прокомментируйте.

Обратная связь

Отзывы важны для понимания того, как я могу улучшить и принести больше полезных материалов. Пожалуйста, хлопайте в ладоши по этой статье, прокомментируйте здесь, поделитесь с друзьями или, пожалуйста, поставьте звезду вышеупомянутым репозиториям github.