|
#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 |