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; Заменить беззнаковую конверсию BYTE -> INTEGERVAR 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 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/ |