User Tag List

Показано с 1 по 10 из 531

Тема: ZX Like Pascal

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,341
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Попробуй представить ассемблерный код, который учтёт, что X-1=-1 и это -1 не равно $FFFFFFFF, а вот Y-1 всё-таки равно $FFFFFFFE
    Это будет уже больше чем Паскаль. В обычном Паскале к этому относились проще. Хотя это позорная неоднозначность, заставляет программиста делать эксперименты, чтобы проверить как именно работает конкретный компилятор. Если он будет вычислять в 32битной арифметике, то результат один, а если приведёт всё к 64-битным числам, то другой.
    А ты хочешь сделать действительно математический Паскаль. Такой Паскаль должен решать эту проблему на этапе компиляции. Он должен действительно понимать, что такое типы, и каковы их интервалы с математической точки зрения. По идее он должен воспринимать какие угодно большие константы. byte должен быть интервальным типом 0..255, shortint = (-128..127), и так далее.
    Такой компилятор, на этапе компиляции поймёт, что в результате вычисления (x-1) получатся числа в интервале -1..$fffffffe, и это число будет заведомо не равно $ffffffff, а значит, такой IF вообще можно не кодировать.
    Такой компилятор, также в принципе правильно обработает условие x<834658348562893465823648526348956328465893648563 48. Хотя нет фиксированного типа, в котором можно было-бы сохранить такую константу, но на этапе компиляции видно, что условие будет выполнено всегда.
    Последний раз редактировалось Reobne; 28.10.2019 в 17:51.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PASCAL + MACRO11 (УКНЦ-ДВК).
    от hobot в разделе ДВК, УКНЦ
    Ответов: 341
    Последнее: 15.01.2022, 17:30
  2. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Ваши права

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