분류 전체보기 244

부울 대수의 기본 정리와 성질

쌍대(duality) 쌍대(duality)라는 것은 한 쪽에 항등원과 연산자를 바꾸면 다른 부분을 얻어 낼 수 있다. 이는 우리가 학교에서 배운 대우와 같은 개념이다. 만약 q->p라는 명제가 주어졌을 때 대우는 ~p -> ~q이다. 이를 부울 대수에서 사용하면 1 + 1 = 1일때 쌍대를 이용하면 0 · 0 = 0임을 알아낼 수 있다. 이 성질은 부울 대수에서 식을 계산할 떄 상당히 유용하므로 꼭 알아두는 것이 좋다. 부울 대수에서 쌍대를 구하는 방법은 AND 연산자와 OR 연산자를 바꿔주고 1과 0을 서로 바꾸면 된다. 기본 정리 다음 표는 부울 대수의 기본정리 6개와 공준 4개에 대한 표이다. 이제부터 위 표에 주어진 공준을 바탕으로 각 정리에 대해 증명을 해보도록 하겠다. 부울 대수의 공준에 대한..

digital design 2022.01.19

부울 대수의 기본 정의와 공리적 정의

*학부생이기에 틀릴 수 있는 부분이 있으니 잘못된 부분이 있다면 알려주시면 감사하겠습니다. 개요 부울 대수(Boolean algebra)는 컴퓨터나 디지털 회로를 다루는 사람들에게 필수적인 수학이다. 우리가 전자 회로를 만들 때 고려해야 될 사항은 다음과 같다. 어떻게 하면 싸게 만들 수 있는가? 어떻게 하면 간단하게 만들 수 있는가? 어떻게 하면 위 2개의 조건을 만족하면서 우리가 원하는 성능을 낼 수 있는가? 이 모든 걸 만족시키는 물건을 만드는 건 간단하지는 않다. 하지만 우리는 부울 대수를 통해 이러한 문제들을 좀 더 쉽게 풀 수 있다. 부울 대수는 복잡한 회로가 필요할 때 이를 간단하게 만들어 주는 역할을 한다. 부울 대수의 기본 정의 부울 대수도 일반적인 수학처럼 원소(element)와 연산자..

digital design 2022.01.19

2022 01 18 나의 일기

우와... 오늘은 일기가 정말 쓰기 싫다. 왜냐면 오늘은 오랜만에 컴퓨터 앞에서 공부도 하고 공부한 내용을 계속 글로 쓰고 있었다. 이렇게 하니까 컴퓨터에서 게임하고 싶다는 생각이나 트위치를 보고 싶다는 생각조차 안든다. 드디어 성공인가? 아무튼 오늘은 아침부터 나름(?) 바쁘게 움직였다. 어제 저녁에 아빠가 오노 지로의 스시 관련 프로그램을 보시길래 보다보니 초밥이 먹고 싶어졌는데 마침 집에 연어가 있어서 오늘 아침에 기분 좋은 마음으로 연어 초밥을 만들었다. 밥에 간은 잘 됬는데 아쉽게도 밥이 너무 질어져서 손으로 모양을 잡으려고 밥을 쥐니까 손에 밥알들이 달라붙었다. 먹었을 때도 꼭 진 밥 먹는 느낌이 나서 조금 아쉬웠지만 뭐 간은 잘 돼서 맛있었다. 그리고 계속해서 오늘 공부한 내용을 글로 적었다..

나의 일기 2022.01.18

std::ios_base::sync_with_stdio와 cin.tie로 입출력을 빠르게!!

백준 문제를 풀다가 std::ios_base::sync_with_stdio과 cin.tie ,cout.tie를 같이 쓰는 코드를 보고 이게 무슨 코드일까 찾아보다가 입출력을 빠르게 하는 코드라는 것을 알아서 왜 그런지 좀 더 조사해보기로 했다. sync_with_stdio C++ 레퍼런스에서는 std::ios_base::sync_with_stdio를 다음과 같이 설명한다. C++표준 스트림들이 C 표준 스트림들과 각각의 입출력 연산 후에 동기화 할지 여부를 설정한다. 동기화가 되면 C++ 스트림들이 자신의 버퍼를 사용하지 않고 C 스트림 버퍼를 직접 사용한다. 이는 C++입출력과 C입출력을 혼합해서 사용할 수 있게 해준다. 또한 쓰레드 안정성이 보장된다. 동기화를 하지 않을 경우 C++ 스트림들은 자신들..

C++ 2022.01.18

백준 2557번 문제 C++

1 단계: 문제 파악 이번 문제는 "Hello world!"라는 문자열을 찍어내는 문제이다. 이 문제는 화면에 우리가 원하는 문자를 출력할 수 있는지를 알아보는 문제이다. 2단계: 배경 지식 여기서 우리가 필요한 내용은 C++로 문자 출력하는 법을 알아야 한다. C++에서 문자는 cout을 이용하여 출력할 수 있다. 아니면 C스타일의 printf를 사용할 수도 있다. cout이 printf보다 사용하기는 편하지만 속도면에서는 printf가 빠르다. 만약 cout을 이용하여 빠른 속도를 내고 싶으면 아래 코드를 추가하면 된다. 하지만 이 코드를 사용하게 되면 printf와 cout을 같이 쓸 수 없으니 주의해야한다. ios_base::sync_with_stdio(false); cin.tie(NULL); c..

백준 2022.01.18

2022 01 17 나의 일기

진짜 대단하다. 2년 뒤에 어떤 결과가 나올지 궁금할 정도다. 그때가 되면 후회하겠지. 아... 그때 열심히 할 걸... 일기를 매일 쓰는 것만으로도 대단하다. 계속 일기를 쓰면서 죄책감이든 반성이든 편안함이든 뭐든 느껴봤으면 좋겠다. 1. 오늘은 살아있음을 느꼈는가? 아니다. 2. 오늘은 무엇을 배웠는가? 좌표 압축 3. 시간을 효율적으로 썼는가? 그냥 낭비 그 자체였다. 게으른 자는 먹지도 말았어야 하는데...

나의 일기 2022.01.17

Digital Systems and Binary Numbers

What is Digital System? Discrete information (digit number, 26letters, etc.)을 이용하여 정보를 표현하고 변경할 수 있다는 특징이 있다. Digital System의 이름은 원래 컴퓨터의 초기 목적인 숫자 계산을 위해 만들어 졌기 때문에 digit(숫자)를 계산하는 시스템이라는 의미로 Digital System이 되었다. digital System은 물리적인 요소인 signal을 통해 signal의 boltages와 currents를 변경함으로써 정보를 나타낸다. 오늘날에는 2개의 discrete values로 정보를 나타내는데 이를 bit라고 한다. 그리고 이 bit들이 모여 binary code를 이룬다. Binary numbers 우리가 아..

digital design 2022.01.16

2022 01 15 나의 일기

왜 이렇게 펜이 안 잡히는지 모르겠다. 전에는 학교에서 도서관이 문을 닫을 때까지 나오질 않았는데 지금은 책상 앞에 앉는 것조차 힘들다. 공부가 하기 싫어진걸까? 아님 공부를 해도 나아지는게 없다고 느끼는 걸까? 정말 많은 생각이 든다. 그래서 잠깐 밖에 가서 바람을 쐬고 왔다. 이게 나의 잡생각을 없애는 방법중 하나이다. 그냥 아무 생각없이 걷기. 공부를 하지만 배우는 재미가 없다. 물론 재미있으려고 하는 건 아니지만 공부하는데 이런 고역은 처음인 것같다. 해야하지만 하기 싫은 것. 이게 바로 책임의 무게일까? 잘 모르겠다. 어떻게 해야될지 모르겠다. 해도 나아지지 않고 안하면 더 불안해지는 무한의 굴레속에 갖혀있는 느낌이다. 시체와 같은 삶. 그만 빠져나왔으면 좋겠다. 산책하면서 지나던 길을 찍었다...

나의 일기 2022.01.15

2022 01 14 나의 일기

오늘은 사진을 많이 찍어왔다!! 오늘의 나는 좀 집에서 멀리 떨어진 곳까지 갔다왔다. 밑에 사진처럼 광화문에 친구를 보러 갔다!! 지나가는 길에 사진을 남기려고 뒤를 돌아봤는데 절묘하게 산과 광화문이 어우러진 것을 보니 정말 잘 만들기는 했다는 생각이 들었다. 앞에서 수문장 교대도 하고 있었는데 아쉽게 그때는 사진을 찍어야겠다는 생각이 들지 않았다. 그리고 앞에서 어디 방송국 리포터인지는 모르겠지만 리포터가 수문장 교대의식을 취재하는 것을 보았다. 카메라1개랑 그걸 다루는 사람? 3~4명이랑 리포터 정도만 있는 것을 보니 뉴스에서 찍는 것들은 생각보다 단촐하게 하는구나를 알았다. 그리고 광화문에서 친구가 필요한 책을 샀다. 나에게 요즘 자기가 공부하는 내용을 알려주는데 솔직히 잘 모르겠다. 하지만 나와 ..

나의 일기 2022.01.14