| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Быстрый перевод 2-х байт (слова) в целое |
| Автор: becks 7.9.2010, 09:49 |
| Добрый день, господа! Такая ситуация, нужен оптимальнейший вариант для след. операции, так как время работы очень критично: Есть два байта из которых нужно получить слово и перевести его в целое: bh-старший, bl-младший. Как мне средсвами Delphi сделать эту операции максимально экономичной по вермени? На всякий случай пример того как у меня сделано, мало ли плохо объяснил: bh=254, bl=56. Я перевожу в 16-ричный: bh=FE, bl=38, склеиваю b=bh+bl=FE38 и перевожу в десятичное b=65080. Но меня это не устраивает так как операцию нужно делать десятки тысяч раз. Прошу вашей помощи, спасибо. |
| Автор: becks 7.9.2010, 10:18 |
| Другими словами, оптимальный вариант для получения значения числа по его старшему и младшему байту |
| Автор: 0x0027 7.9.2010, 10:19 |
| MakeWord |
| Автор: becks 7.9.2010, 10:43 | ||
Спасибо большое. |
| Автор: Albinos_x 7.9.2010, 16:24 |
это зачем?) они у тебя строковые??? |
| Автор: БелАмор 7.9.2010, 20:50 |
Так нельзя... Во-первых, bl и bh выравниваются. Вы же не забыли указать для записи packed record Во-вторых, если указано, что MyWord и bl располагаются по одному адресу, то это касается только их. Причем тут bh? |
| Автор: northener 7.9.2010, 21:37 |
Да, извиняюсь. Бес попутал. :( |