r166 vs r167
......
2020
2121
{{{#orange 결론}}} : true는 논리값 true로 동작된다.
2222
23
== | 기호 테스트 ==
23
== |, & 기호 ==
2424
=== 논리 연산 ===
2525
두 식을 두고 | 기호 테스트를 해보았을 때, {{{#!if (1==1)|(0==0)
2626
두 식이 모두 참일 때는 당연히 출력되며 }}}{{{#!if (1==1)|(1==0)
......
3939
만약 | 기호를 하나만 적지 않고 2개를 적어보면 어떻게 될까? {{{#!if true || true
4040
마찬가지로 동작된다.}}} 그러나 |기호를 3개를 적어 식으로 걸어보면 동작되지 않는다.{{{#!if true ||| true
4141
출력 (| 기호)}}}
42
43
앞의 true와 false를 다시 가져와서 & 기호 테스트를 할 수 있다. {{{#!if true & true
44
양쪽 모두 true일 경우 (true & true) 출력할 문구가 나온다. }}}{{{#!if true & false
45
출력1 (& 기호)}}}{{{#!if false & true
46
출력2 (& 기호)}}}{{{#!if false & false
47
출력3 (& 기호)}}} 어느 한 쪽이 false가 되면 출력되지 않고, 양쪽 모두 false가 된다면 출력되지 않는다.
48
4249
=== 비트 연산 ===
43
| 기호가 2진수 비트합으로도 처리되는 상황을 설명하자면 true와 false 진리값이 각각 1, 0인 논리를 시스템상을 먼저 볼 필요가 있다.
50
| 기호, & 기호가 2진수 비트합으로도 처리되는 상황을 설명하자면 true와 false 진리값이 각각 1, 0인 논리를 시스템상을 먼저 볼 필요가 있다.
51
||<table bgcolor=transparent,transparent>{{{#!wiki style="display: inline-block; margin: 0 5px;"
4452
||<table bgcolor=transparent,transparent> || case1 || case2 || case3 || case4 ||
45
|| A || 1 || 1 || 0 || 0 ||
46
|| B || 1 || 0 || 1 || 0 ||
47
|| A {{{#orange \|}}} B || 1 || 1 || 1 || 0 ||
48
OR 위 표와 같이 처리되는데 1을 true, 0을 false 놓고 보면 | 연산 결과가 다.
53
|| A || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#tomato false}}} ||
54
|| B || {{{#dodgerblue true}}} || {{{#tomato false}}} ||{{{#dodgerblue true}}} || {{{#tomato false}}} ||
55
|| A {{{#orange \}}} B || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} ||}}}||{{{#!wiki style="display: inline-block; margin: 0 5px;"
56
||<table bgcolor=transparent,transparent> || case1 || case2 || case3 || case4 ||
57
|| A || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#tomato false}}} ||
58
|| B || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} ||
59
|| A{{{#orange ∧}}}B || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#tomato false}}} || {{{#tomato false}}} ||}}}||
60
|| OR 연산 처리 || AND 연산 처리 ||
61
OR(∨), AND(∧)는 위 표와 같이 처리된다. 2진법 수의 각 자리수에 따라 {{{#dodgerblue true}}}를 1, {{{#tomato false}}}를 0으로 놓고 | 연산 OR(∨)처럼, &연산은 AND(∧)처럼 동작된다.
4962
5063
{{{#!if (5|3) ==7
5164
이를 이진법에 적용하게 되자면 2진법의 각 자릿수별로 | 연산을 한 값을 보게 된다.
......
6780
}}}
6881
(9|5)==12를 테스트하게 되면 일(2^^^0^^^)의 자릿수가 틀려서 출력되지 않는다.{{{#!if (9|5) ==12
6982
출력 (1101)}}}
70
7183
그러므로 | 기호는 비트 연산으로 쓰이든 논리 연산으로 쓰이든 "OR"로 계산된다.
7284
73
== & 기호 테스트 ==
74
=== 논리 연산 ===
75
앞의 true와 false다시 가져와서 & 기호 테스트를 할 수 있다. {{{#!if true & true
76
양쪽 모두 true일 경우 (true & true) 출력할 문구가 나온다. }}}{{{#!if true & false
77
출력1 (& 기호)}}}{{{#!if false & true
78
출력2 (& 기호)}}}{{{#!if false & false
79
출력3 (& 기호)}}} 어느 쪽이 false가 되면 출력되지 않고, 양쪽 모두 false가 된다면 출력되지 않는다.
80
81
{{{#orange 결론}}} : & 기호는 논리연산 AND
82
=== 비트 연산 ===
83
& 기호가 2진수 비트곱으로도 처리된다. |기호와 같이 true와 false 진리값이 각각 1, 0인 논리를 시스템상에서 나타내므로
84
||<table bgcolor=transparent,transparent> || case1 || case2 || case3 || case4 ||
85
|| A || 1 || 1 || 0 || 0 ||
86
|| B || 1 || 0 || 1 || 0 ||
87
|| A&B || 1 || 0 || 0 || 0 ||
88
표를 참고하여 계산하면 이진법의 각 자릿수별로 1true, 0을 false 놓고 & 연산한 것과 같이 나온다. 이를테면 (25&19)=-17을 조건으로 걸어보면 {{{#!if (25&19)==17
85
& 기호를 이용한 연산을 보자. (25&19)=-17을 조건으로 걸어보면 {{{#!if (25&19)==17
8986
출력된다. (25&19)==19를 보면 2^^^1^^^의 자릿수가 틀려서 출력되지 않는다.
9087
||<table bgcolor=transparent,transparent> 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ ||
9188
|| 25 || 1 || 1 || 0 || 0 || 1 ||
......
10097
|| (20&11) = 0 || 0 || 0 || 0 || 0 || 0 ||}}}
10198
그러므로 & 기호는 비트 연산으로 쓰이든 논리 연산으로 쓰이든 "AND"로 계산된다.
10299
103
== 부등호, * 기호 ==
100
== 부등호, 숫자 연산 기호 ==
104101
{{{#!if (1<2)&(2>=-3)
105102
부등호 계산으로 조건식을 만들 때, 음수값도 읽을 수 있다.}}}
106103
......
132129
{{{#orange 결론}}} : * / > >= < <= 연산기호는 지원된다.
133130
== ^ 기호 테스트 ==
134131
=== 논리 연산 ===
135
^ (exponent?)
132
계산기로 {{{#!wiki style="display: inline; font-family: monospace;"
133
\^}}} 기호를 입력하면 (exponent?)
136134
{{{#!if 10^4==10000
137135
출력 (^기호)}}}
138136
----
......