Sign in Join
Wiki copytemporary

And/ru: what changed

Revision 2 to 3. 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-
91## Логическая операция
102
11-Логическая операция **And** выдает значение [[True/ru|true]] тогда и только тогда, когда оба логических операнда равны true.
3+Логическая операция **And** выдает значение [[True/ru|true]] тогда и только тогда, когда оба логических операнда равны true.
124
135### Таблица истинности
146
15-A | B | A and B
16----|---|---
17-false | false | false
18-false | true | false
19-true | false | false
20-true | true | true
21-
7+| A | B | A and B |
8+|-----------|-----------|---------|
9+|   false   |   false   |   false |
10+|   false |   true |   false |
11+|   true |   false |   false |
12+|   true |   true |   true |
13+
2214## Побитовая операция
2315
24-Для логической операции **And** (также известна, как Побитовое И) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1 тогда и только тогда, когда оба соответствующих бита равны 1.
16+Для логической операции **And** (также известна, как Побитовое И) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1 тогда и только тогда, когда оба соответствующих бита равны 1.
2517
2618### Является ли операнд степенью двойки
27-```
19+
20+``` pascal
2821function IsPowerOfTwo( const aValue : longint ): boolean;
29- var
30- x : longint;
31- b : boolean;
22+var
23+ x : longint;
24+ b : boolean;
25+begin
26+ b := false;
27+ if aValue <> 0 then
3228 begin
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;
29+ x := aValue - 1;
30+ x := x and aValue;
31+ if x = 0 then b := true;
4132 end;
33+ result := b;
34+end;
4235```
4336
44-Если вы вызовете IsPowerOfTwo(4), то получите результат **true**. Если вызовете IsPowerOfTwo(5), то результатом будет **false**.
37+Если вы вызовете IsPowerOfTwo(4), то получите результат **true**. Если вызовете IsPowerOfTwo(5), то результатом будет **false**.
4538
4639## См. также
4740
48- * [[Not/ru|Not]]
49- * [[Or/ru|Or]]
50- * [[Shl/ru|Shl]]
41+- [[Not/ru|Not]]
42+- [[Or/ru|Or]]
43+- [[Shl/ru|Shl]]
5144
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]]
45+- [[Const/ru|Const]]
46+- [[Function/ru|Function]]
47+- [[Integer/ru|Integer]]
5548
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\)")
49+- [[Shl|Clear a bit]]
50+- [[Bit manipulation/ru|Bit manipulation]]
5851
5952---
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).*
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).*

Back to history