![]() |
|
|
|
|
#1
|
|||
|
|||
|
День добрый Уважаемые форумчане!
Есть прога. С помощью нее я получаю данные. число приходит в виде числа в двоичной системе счисления. Как мне узнать, что находится в 7разряде: 0 или 1? ну или в любом другом. Например, "если в 4 разряде 1 то делать так, а иначе так". |
|
#2
|
|||
|
|||
|
На то есть битовые маски. Например, чтобы узнать, что в четвертом разряде, нужно «наложить» маску 00001000=8.
Пример. Исследуем переменную Variable. Код:
if Variable and 8 = 8 then ShowMessage('В четвертом разряде 1')
else ShowMessage('В четвертом разряде 0'); |
|
#3
|
|||
|
|||
|
Допустим, у тебя приходят байты (тип byte)
тогда: Код:
const
Bit4 = $00010000; // Четвертый справа, т.к. первый считается нулевым.
var
InByte : Byte;
begin
...
If (Byte And Bit4) <> 0
Then ... // Битик стоит
Else ...; // Битик не стоит |
|
#4
|
|||
|
|||
|
lmikle, а разве ваша константа Bit4 — это то?
$00010000 = 10000000000000000b |
|
#5
|
|||
|
|||
|
Всем спасибо! ))
|
|
#6
|
|||
|
|||
|
Народ отлично стреляете и полезно!!!
http://clientbase.ru |