PDA

Просмотр полной версии : Выделить старший и младший байт из WORD



Plp
03.07.2013, 10:01
День добрый. Надоумьте пожалуйста, как выделить старший и младший байт из переменной типа WORD (на языке ST)?
Буду тем более весьма признателен и за обратный алгоритм упаковки двух байт в WORD. Заранее спасибо.

Николаев Андрей
03.07.2013, 10:04
умножаем или делим, соответсвенно, на 2 в 8 степени (256)

Plp
03.07.2013, 10:19
Э, туповат я маленько... Что на что и как? Могу сдвинуть WORD вправо, останется ст.байт и нолики в старших разрядах. Сдвинуть тот же WORD влево-вправо, останется мл. байт и нолики в ст. разрядах. Но вот как из WORD в BYTE перекинуть результаты сдвигов? То есть из одной переменной WORD получить две переменные типа BYTE, содержащие ст. и мл. байты?

Валенок
03.07.2013, 10:44
lo,hi : byte
w : word

lo := word_to_byte(w)
hi := word_to_byte(w/256)
w := 256*hi + lo

Plp
03.07.2013, 11:52
Спасибо, Валенок, понял. Я простым побитовым присваиванием решил, любая разрядность в какую хошь разрядность. Еще раз благодарю, тема закрыта.