Sign in Join
Wiki copytemporary

And/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1+## Contents
2+
3+ * 1 Логическая операция
4+ * 1.1 Таблица истинности
5+ * 2 Побитовая операция
6+ * 2.1 Является ли операнд степенью двойки
7+ * 3 См. также
8+
19## Логическая операция
210
3-Логическая операция **And** выдает значение [[True/ru|true]] тогда и только тогда, когда оба логических операнда равны true.
11+Логическая операция **And** выдает значение [[True/ru|true]] тогда и только тогда, когда оба логических операнда равны true.
412
513### Таблица истинности
614
7-| A | B | A and B |
8-|-----------|-----------|---------|
9-|   false   |   false   |   false |
10-|   false |   true |   false |
11-|   true |   false |   false |
12-|   true |   true |   true |
13-
15+A | B | A and B
16+---|---|---
17+false | false | false
18+false | true | false
19+true | false | false
20+true | true | true
21+
1422## Побитовая операция
1523
16-Для логической операции **And** (также известна, как Побитовое И) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1 тогда и только тогда, когда оба соответствующих бита равны 1.
24+Для логической операции **And** (также известна, как Побитовое И) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1 тогда и только тогда, когда оба соответствующих бита равны 1.
1725
1826### Является ли операнд степенью двойки
19-
20-``` pascal
27+```
2128function IsPowerOfTwo( const aValue : longint ): boolean;
22-var
23- x : longint;
24- b : boolean;
25-begin
26- b := false;
27- if aValue <> 0 then
29+ var
30+ x : longint;
31+ b : boolean;
2832 begin
29- x := aValue - 1;
30- x := x and aValue;
31- if x = 0 then b := true;
33+ b := false;
34+ if aValue <> 0 then
35+ begin
36+ x := aValue - 1;
37+ x := x and aValue;
38+ if x = 0 then b := true;
39+ end;
40+ result := b;
3241 end;
33- result := b;
34-end;
3542```
3643
37-Если вы вызовете IsPowerOfTwo(4), то получите результат **true**. Если вызовете IsPowerOfTwo(5), то результатом будет **false**.
44+Если вы вызовете IsPowerOfTwo(4), то получите результат **true**. Если вызовете IsPowerOfTwo(5), то результатом будет **false**.
3845
3946## См. также
4047
41-- [[Not/ru|Not]]
42-- [[Or/ru|Or]]
43-- [[Shl/ru|Shl]]
48+ * [[Not/ru|Not]]
49+ * [[Or/ru|Or]]
50+ * [[Shl/ru|Shl]]
4451
45-- [[Const/ru|Const]]
46-- [[Function/ru|Function]]
47-- [[Integer/ru|Integer]]
52+ * [Const](</index.php?title=Const/ru&action=edit&redlink=1> "Const/ru \(page does not exist\)")
53+ * [[Function/ru|Function]]
54+ * [[Integer/ru|Integer]]
4855
49-- [[Shl|Clear a bit]]
50-- [[Bit manipulation/ru|Bit manipulation]]
56+ * [[Shl|Clear a bit]]
57+ * [Bit manipulation](</index.php?title=Bit_manipulation/ru&action=edit&redlink=1> "Bit manipulation/ru \(page does not exist\)")
5158
5259---
53-*From the Free Pascal wiki, page "And/ru", as it stood on 2020-01-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
60+*From the Free Pascal wiki, page "And/ru", as the Internet Archive kept it on 2024-09-10. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history