понедельник, 11 января 2021 г.

Сделал LongLong

 Делаю конвертеры. Это функции, которые берут со стека токен и пытаются преобразовать его в литерал данного типа.

Вдруг выяснилось, что тип long long на платформе INT64 имеет размер 64 бита - такой же, как у long. А не 128 бит, как я предполагал.

Я поинтересовался, как обстоят дела в Питоне - там long long - это 128 бит. Впрочем, Питон умеет работать и с 256-битными числами.

Меня конечно такое положение не могло устроить. Моя таблица типов выглядит так:

  • Char - 8 бит
  • Short - 16 бит
  • Integer - 32 бит
  • Long - 64 бита
  • LongLong - 128 бит

В общем, пришлось написать собственную реализацию типа LongLong.

Пару дней я его писал, несколько дней исправлял ошибки, и вот, наконец-то он заработал.

Тип данных LongLong (128 бит)

Теперь можно приступать к конвертерам чисел с плавающей точкой.

Комментариев нет: