forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   чтение бита (http://forum.boolean.name/showthread.php?t=8369)

mustaeed 24.05.2009 17:25

чтение бита
 
как узнать установлен ли определённый бит в переменной?

вот описание из game lib:

integer get_bit(integer value, integer mask) - Возвращает результат логического сложения И (AND) двух чисел value и mask
Служит для проверки установлен ли какой-либо бит числа value в 1. На самом деле бесполезная функция т.к. MP может
делать логическое сложение сам примерно так: result:=value and mask;
Примеры:

value 01010111 value 01010101
& &
mask 00000010 mask 00000010
= =
result 00000010 result 00000000


не понял как.

odd 24.05.2009 21:29

Ответ: чтение бита
 
Да просто. Сначала создаешь маску бита который тебе нужно узнать.
К примеру, надо узнать значение второго бита. Тогда маска 00000010
Теперь чтобы проверить установлени ли бит в числе value
result := value and mask;
if (result = 0) then // не установлен
else // установлен

mustaeed 25.05.2009 00:41

Ответ: чтение бита
 
огромное спасибо оч.выручил.

cheaters-hater 21.06.2009 16:16

Ответ: чтение бита
 
а как можно заменить бит в переменной:dontknow:
создам наверно тему отдельно:-D

ffinder 21.06.2009 20:40

Ответ: чтение бита
 
Цитата:

Сообщение от christian (Сообщение 108499)
а как можно заменить бит в переменной:dontknow:
создам наверно тему отдельно:-D

заксорить, больше никак:)


Часовой пояс GMT +4, время: 13:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot