‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Типы данных Lisp и преобразование

Булев тип, символьный (в смысле, примитивный байтовый), целочисленный, плавающая точка - всё это достаточно тривиально.

Но ещё есть, например, дробный тип, позволяющий представить рациональные числа без потери точности (не 0,33333334, а полновесная 1/3).

Почти наверняка это реализовано так: если делить заведомое целые числа, то "дробь" получается автоматически (и в памяти хранится просто пара, как в случае комплексных). А арифметика с ними работает по обычным школьным правилам - приведение к общему знаменателю, общий делитель и т.п. Тоже, в обще, тривиально для реализации.
Tags: uncommon lisp
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments