OberonCore
https://forum.oberoncore.ru/

Оптимизация Stores.Reader.ReadChar (предложение)
https://forum.oberoncore.ru/viewtopic.php?f=131&t=3065
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Воскресенье, 12 Декабрь, 2010 19:51 ]
Заголовок сообщения:  Оптимизация Stores.Reader.ReadChar (предложение)

Код:
   PROCEDURE (VAR rd: Reader) ReadChar* (OUT x: CHAR), NEW;
      VAR le: ARRAY 2 OF BYTE;   (* little endian, big endian *)
   BEGIN
      rd.rider.ReadBytes(le, 0, 2);
      x := CHR(le[0] MOD 256 + (le[1] MOD 256) * 256)
   END ReadChar;
Заменить беззнаковую конверсию BYTE -> INTEGER
с
byte MOD 256 = ЗнаковаяКонверсия(byte) AND 255
на
ORD(SHORT(CHR(byte))) = БеззнаковаяКонверсия(byte) --- за счёт беззнаковости CHAR-в

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/