| r167 vs r168 | ||
|---|---|---|
| ... | ... | |
| 48 | 48 | |
| 49 | 49 | === 비트 연산 === |
| 50 | 50 | | 기호, & 기호가 2진수 비트합으로도 처리되는 상황을 설명하자면 true와 false 진리값이 각각 1, 0인 논리를 시스템상을 먼저 볼 필요가 있다. |
| 51 | ||<table bgcolor=transparent,transparent>{{{#!wiki style="display: inline-block; | |
| 51 | ||<table bgcolor=transparent,transparent>{{{#!wiki style="display: inline-block;" | |
| 52 | 52 | ||<table bgcolor=transparent,transparent> || case1 || case2 || case3 || case4 || |
| 53 | 53 | || A || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#tomato false}}} || |
| 54 | 54 | || B || {{{#dodgerblue true}}} || {{{#tomato false}}} ||{{{#dodgerblue true}}} || {{{#tomato false}}} || |
| 55 | || A | |
| 55 | || A{{{#orange \∨}}}B || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} ||}}}||{{{#!wiki style="display: inline-block;" | |
| 56 | 56 | ||<table bgcolor=transparent,transparent> || case1 || case2 || case3 || case4 || |
| 57 | 57 | || A || {{{#dodgerblue true}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#tomato false}}} || |
| 58 | 58 | || B || {{{#dodgerblue true}}} || {{{#tomato false}}} || {{{#dodgerblue true}}} || {{{#tomato false}}} || |
| ... | ... | |
| 60 | 60 | || OR 연산 처리 || AND 연산 처리 || |
| 61 | 61 | OR(∨), AND(∧)는 위 표와 같이 처리된다. 2진법 수의 각 자리수에 따라 {{{#dodgerblue true}}}를 1, {{{#tomato false}}}를 0으로 놓고 | 연산은 OR(∨)처럼, &연산은 AND(∧)처럼 동작된다. |
| 62 | 62 | |
| 63 | 이를테면 5 | 3을 보자면 이진법으로 변환한 값의 각 자릿수에 따라 연산이 되어 7이 나오므로 {{{#!wiki style="display: inline; font-family: monospace;" | |
| 64 | (5|3)==7}}}만을 if 조건문으로 걸게 되면 동작된다. 다른 예로 {{{#!wiki style="display: inline; font-family: monospace;" | |
| 65 | (9|5)==13}}}을 걸게 되면 역시 동작된다. | |
| 63 | 66 | {{{#!if (5|3) ==7 |
| 64 | ||
| 65 | ||
| 66 | ||
| 67 | {{{#!wiki style="display: inline-block; margin: 0 5px;" | |
| 67 | 68 | ||<table bgcolor=transparent,transparent> 10진수 || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || |
| 68 | 69 | || 5 = || 1 || 0 || 1 || |
| 69 | 70 | || 3 = || 0 || 1 || 1 || |
| 70 | || (5|3) = 7 || 1 || 1 || 1 ||}}} | |
| 71 | ||
| 72 | ||
| 73 | ||
| 74 | {{{#!if (9|5) ==13 | |
| 75 | ||
| 71 | || (5|3) = 7 || 1 || 1 || 1 ||}}}}}}{{{#!if (9|5) ==13 | |
| 72 | {{{#!wiki style="display: inline-block; margin: 0 5px;" | |
| 76 | 73 | ||<table bgcolor=transparent,transparent> 10진수 || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || |
| 77 | 74 | || 9 = || 1 || 0 || 0 || 1 || |
| 78 | 75 | || 5 = || 0 || 1 || 0 || 1 || |
| 79 | 76 | || (9|5) = 13 || 1 || 1 || 0 || 1 || |
| 80 | }}} | |
| 81 | (9|5)==12를 테스트하게 되면 일(2^^ | |
| 77 | }}}}}} | |
| 78 | 만약 (5|3)==6이나 (9|5)==12를 테스트하게 되면 두 식 모두 일(2^^0^^)의 자릿수가 틀려 출력할 문구가 나오지 않는다.{{{#!if (5|3) ==6 | |
| 79 | 출력}}}{{{#!if (9|5) ==12 | |
| 82 | 80 | 출력 (1101)}}} |
| 83 | 그러므로 | 기호는 비트 연산으로 쓰이든 논리 연산으로 쓰이든 "OR"로 계산된다. | |
| 84 | 81 | |
| 85 | & 기호를 이용한 연산 | |
| 86 | 출력 | |
| 82 | & 기호를 이용한 연산의 예로 {{{#!wiki style="display: inline; font-family: monospace;" | |
| 83 | (25&19)==17}}}이나 {{{#!wiki style="display: inline; font-family: monospace;" | |
| 84 | (20&11)==0}}}을 조건문에 넣어보면 출력할 문구가 나온다. (25&19)==19를 보면 2^^^1^^^의 자릿수가 틀려서 출력되지 않는다.{{{#!if (25&19)==19 | |
| 85 | 출력}}} | |
| 86 | {{{#!if (25&19)==17 | |
| 87 | {{{#!wiki style="display: inline-block; margin: 0 5px;" | |
| 87 | 88 | ||<table bgcolor=transparent,transparent> 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || |
| 88 | 89 | || 25 || 1 || 1 || 0 || 0 || 1 || |
| 89 | 90 | || 19 || 1 || 0 || 0 || 1 || 1 || |
| 90 | || (25&19) = 17 || 1 || 0 || 0 || 0 || 1 ||}}}{{{#!if (2 | |
| 91 | ||
| 92 | ||
| 93 | ||
| 91 | || (25&19) = 17 || 1 || 0 || 0 || 0 || 1 ||}}}}}}{{{#!if (20&11)==0 | |
| 92 | {{{#!wiki style="display: inline-block; margin: 0 5px;" | |
| 94 | 93 | ||<table bgcolor=transparent,transparent> 10진수 || 2^^^4^^^ || 2^^^3^^^ || 2^^^2^^^ || 2^^^1^^^ || 2^^^0^^^ || |
| 95 | 94 | || 20 || 1 || 0 || 1 || 0 || 0 || |
| 96 | 95 | || 11 || 0 || 1 || 0 || 1 || 1 || |
| 97 | || (20&11) = 0 || 0 || 0 || 0 || 0 || 0 ||}}} | |
| 98 | ||
| 99 | ||
| 96 | || (20&11) = 0 || 0 || 0 || 0 || 0 || 0 ||}}}}}} | |
| 100 | 97 | == 부등호, 숫자 연산 기호 == |
| 101 | 98 | {{{#!if (1<2)&(2>=-3) |
| 102 | 99 | 부등호 계산으로 조건식을 만들 때, 음수값도 읽을 수 있다.}}} |
| ... | ... |