
<aside> 💡 목차
</aside>
https://github.com/POCU/COMP1500CodeSamples
<aside> 💡 다음 두 식은 표현은 다르지만 같은 결과를 가집니다

if(!(a == b || c == d))
if(a != b && c != d)
가만보면 OR → AND 로 변환한 모습을 볼 수 있습니다.
OR → AND? 이는 논리회로설계에서 공부했던
SOP → POS 변환으로 생각할 수 있습니다
또한, 드모르간법칙 을 생각할 수 있습니다
$\overline {AB + CD}$
$\overline {AB} \times \overline {CD}$
$(AB + CD)’$
$AB’ \times CD’$
| AB | CD | F1 | F2 |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 |
| AB’ | CD’ | F1 |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
| </aside> |
<aside> 💡 쉽게 이해하는 또 다른 방법
= !(A==B || C==D)
= !(A==B) !(||) !(C==D)
= (A!=B && C!=D)
논리식의 모든 요소를 NOT을 붙여 반대로 표현하면 된다! 라고 말씀하시는데.
이런 생각은 못해봤는데 맞긴 맞죠 드모르간 법칙 을 코드에 적용한 것 뿐이니까
</aside>
<aside> 💡 다음 코드의 출력은?
using System;
public class Program
{
public static void Main()
{
int num = 10;
if (3 * 6 != 18 || ++num == 11)
{
num++;
}
if (12 + 2 == 14 && num++ == 11)
{
num++;
}
if (1 * 4 == 4 || num++ > 0)
{
num++;
}
Console.WriteLine(num);
}
}
</aside>