전공 수업 CS

    [복습] 자료구조를 위한 C 심화 완공 | 자료구조 이해에 C가 필수인 이유 | 포인터, 구조체, 동적할당에 대한 이해의 중요성

    [복습] 자료구조를 위한 C 심화 완공 | 자료구조 이해에 C가 필수인 이유 | 포인터, 구조체, 동적할당에 대한 이해의 중요성

    지난 겨울방학이 시작될 무렵, 방학 목표를 세우며 적은 글이 있다. ⬇️ https://changel.tistory.com/232 [ C ] 겨울방학동안 C 포인터/ 구조체/ 동적메모리 개념 확실하게 익히기 | 자료구조 학습전 갖추 개강까지 한 달하고 조금 넘게 남았다. 다음 학기에는 자료구조를 수강하는데, 지난번 글에도 언급했지만 C언어 교수님께서 자료구조를 제대로 공부하기 위해 C 언어의 탄탄한 베이스가 중요하 changel.tistory.com 지난학기에 개인적으로 존경하는 교수님께 C언어를 수강했고, 이번학기 치열한 수강신청의 경쟁을 뚫고 같은 교수님이 강의하시는 자료구조를 들을 수 있게 되었다. 방학동안 이것저것하느라 C언어의 심화과정을 제대로 복습하지 못 한 것 같아서 3월 한 달 동안은 기숙..

    [디지털공학] 부울 대수와 논리게이트 | Boole 대수

    [디지털공학] 부울 대수와 논리게이트 | Boole 대수

    Boole 대수 Boole 대수는 다음과 같은 공리를 만족하는 2개의 연산자 (+, *)와 원소들의 집합 B에 대해서 정의된 대수적인 구조다. Boole 대수의 특징 (1) 폐쇄: 연산자 +와 *에 대해서 닫혀있다. (2) 단위원: 연산자 +와 *에 대한 단위원은 각각 0와 1이다. x+0=0+x=x x*1=1*x=x (3) 교환법칙: 모든 x,y∈B 에 대해서 x+y=y+x x*y=y*x (4) 분배법칙: 모든 x,y∈B 에 대해서 x*(y+z)=(x*y) +(x*z) x+(y*z)=(x+y)*(x+z) (5) 보수: 모든 원소 x ∈B 에 대하여 x’ ∈B 원소가 존재하여 x+x’=1 x*x’=0 (6) x!=y를 만족하는 x,y∈B 인 원소가 적어도 2개 이상 존재. Boole 대수의 성질 > 쌍대..

    [디지털공학] 그레이코드(GRAY CODE)

    [디지털공학] 그레이코드(GRAY CODE)

    아침 막간을 이용한 간단 복습 정리 그레이코드 - 그레이는 검정색도 아니고 흰색도 아닌 그 사이 색인 회색이다. 한 번에 한 비트씩 변화한다. 한 숫자에서 다음 숫자로 넘어갈 떄 단 한 비트만이 변화한다. 오류 검출에도 성능이 괜찮고 아날로그와 디지털 기계에서 사용하는 코드를 서로 변화할 때 사용한다. ㄱ 이진수를 그레이 코드로 바꿀 때는 ㄱ 계산 2 그레이 코드를 이진수로 바꿀 때는 2 계산 그레이 코드는 가중치가 없기 때문에 연산에 사용되지 않고 아날로그와 디지털 사이의 변환에서만 사용한다.

    [디지털 공학] 부울식 변환 | 최소항과 최대합 전개 | 일반화

    [디지털 공학] 부울식 변환 | 최소항과 최대합 전개 | 일반화

    이 글은 전공 과목인 디지털 공학을 복습하며 작성한 글이다. 부울함수에 대한 진리표가 주어지면, 표준 논리곱의 합(최소항 전개)과 표준 논리합의 곱(최대항 전개)의 두 가지 함수의 표준 대수식을 얻을 수 있다. 이들을 간략화하여 AND와 OR 게이트로 이루어진 회로를 구성할 수 있게 된다. 부울식 변환 논리설계 문제는 종종 한 문장 혹은 여러 문장을 사용하여 서술되기도 한다. 논리회로 설계의 첫 단계는 이들 문장을 부울식으로 변환하는 것이다. 이렇게 하기 위해서는 각 문장을 구로 나누고 각 구를 부울변수와 연관시켜야 한다. 어떤 한 구가 "참(true)" 혹은 "거짓(false)"의 진리값을 가진다면 이 구는 부울변수로 나타낼 수 있는데, 이와 같은 구는 참 혹은 거짓일 수 있다. 예를 들어보자. F =..

    [디지털공학] 부울대수(불대수)란? | Boolean algebra  | 쌍대 , 공리, 공준 | 부울 대수의 주요법칙

    [디지털공학] 부울대수(불대수)란? | Boolean algebra | 쌍대 , 공리, 공준 | 부울 대수의 주요법칙

    이 글은 전공 과목인 디지털 공학 수업을 복습하며 작성하는 글이다. 부울대수 (Boolean Algebra) 대수학 (Algebra)이란 일련의 공리들을 만족하는 수학적 구조들의 일반적인 성질을 연구하는 수학의 한 분야이다. 그 중, 부울대수 (Boolean Algebra)는 참(True), 거짓(False)라는 논리로만 이루어진 대수학이라 할 수 있다. 다들 이미 알다시피 컴퓨터는 0,1 이라는 두개의 숫자만으로 모든 것을 표현한다. True, False라는 논리를 0과 1이라는 두 숫자로 나타낼 수 있기 때문에 부울대수가 컴퓨팅의 기반이 되는 것이다. 논리연산자 - NOT, AND, OR 부울대수를 연산하는 연산자에는 3가지 - NOT, AND, OR - 가 있다. 하나 하나 살펴보도록 하자. NOT..

    [디지털 공학] BCD 코드 | Gray 코드 | 아스키코드 | 여러가지 바이너리 코드

    [디지털 공학] BCD 코드 | Gray 코드 | 아스키코드 | 여러가지 바이너리 코드

    이 글은 전공과목인 디지털 공학을 복습하며 작성한 글이다. BCD code 1. BCD code((Binary coded decimal) : 이진수 네 자리를 묶어 십진수 한 자리로 사용하는 기수법이다. BCD code가 필요한 이유 : 컴퓨터는 모든 연산을 2진법을 사용하지만 사람은 10진법에 익숙해져있다. 따라서 2진수를 10진수로, 10진수를 2진수로 바꿔주어야하기 때문에 BCD code가 필요하다. BCD code - 10진수의 각각의 자리를 2진수로 바꿔주면 BCD code가 완성된다. 몇가지 예를 더 들어보면 ex1) (10)10=(0001 0000)BCD ex2) (56)10=(0101 0110)BCD 2. BCD 덧셈 BCD코드를 사용하면 1010~1111 6개의 숫자가 남는다. 그래서 2..

    [디지털 공학] 2진수의 부호표기법 | signed number  vs unsigned number | 덧셈 보충

    [디지털 공학] 2진수의 부호표기법 | signed number vs unsigned number | 덧셈 보충

    이 글은 전공과목인 디지털 공학을 복습하며 작성한 글이다. signed number vs unsigned number 1. Unsigned number vs Signed number unsigned number : 음수가 아닌 수 , 즉 양수와 영을 말한다. signed number : 양수, 음수, 영이 포함된다. unsigned number를 사용하면 양수만을 사용할 수 있기 때문에 시간과 같은 양의 수 밖에 없는 자료를 한정된 메모리에서 더 많이 표현할 수 있다. 이 글에서는 unsigned보다는 signed를 알아볼 것이다. 2. Signed number signed number를 표기하는 3가지 방법이 있다. signed-magnitude representation (부호크기방식) signed-..

    [디지털 공학] 보수 | 2진수의 산술 연산 | 2진수의 덧셈과 뺄셈 방법

    [디지털 공학] 보수 | 2진수의 산술 연산 | 2진수의 덧셈과 뺄셈 방법

    전공과목인 디지털 공학 수업내용을 복습하며 작성하는 글이다. 나는 작년에 컴퓨터 구조를 수강했기에 컴퓨터 공학의 선수과목인 디지털 공학을 듣는 것은 수월했다. 작년에 이해하려 무수한 노력을 들인 2진수와 카르노맵...등등 이번 학기 동안 머릿속에 확실하게 각인시킨다고 생각하면서 공부해야겠다. 2진수의 덧셈 2진수의 덧셈과 carry 2진수의 덧셈은 10진수의 덧셈과 비슷하다. 10진수의 덧셈의 경우 2+9=11 에서1을 올려주둣 2진수의 덧셈에서 1+1=10 에서 1을 올려준다. 여기서 올라가는 수를 carry라고 한다. 보수(Complement) 2진수의 뺄셈을 이해하기 위해서는 먼저 보수의 개념을 알아야한다. r진법의 보수는 2가지가 존재한다. - Diminished Radix Complement :..

    [디지털 공학] 수의 표현 | 진수의 변환

    [디지털 공학] 수의 표현 | 진수의 변환

    수의 표현 N진수의 표현 ex1) 2진수의 표현 : (101.1)2 ex2) 10진수의 표현: (12.8)10 이러한 표기를 사용하는 이유는 101.1이 10진법으로 표현된 것인지 2진법으로 표현된 것인지 혼돈을 막기 위함이다. 위의 표기법외에 여러 표기법이 있으므로 자신이 공부하는 책의 표기법을 따라가면 된다. 앞으로 혼동될 상황이 생기면 위의 표기법을 사용하겠다. 진법변환 (가중치를 이용한 방법) 아마 나눗셈을 이용하는 방법은 분명 어디선가 한번씩은 들어봤을 것이다. 필자는 나눗셈으로 나머지를 구하는 방법보다 더 빠르고 직관적인 가중치를 이용하는 방법을 소개할 것이다. 밑의 방법은 10진수를 거쳐가는 방법이다. 매우 편리하니 알아두자 1. n진수에서 10진수로 변환하기 (a1a0.a-1)=a1n1+a..

    [디지털 공학]  디지털과 아날로그 | digit, bit, byte

    [디지털 공학] 디지털과 아날로그 | digit, bit, byte

    이 글은 전공과목인 디지털 공학을 복습하며 작성한 글이다. 디지털과 아날로그 디지털과 아날로그의 개념에 대해 알아보자. 디지털 신호: 불연속적인 신호로 현재 사용되는 거의 모든 전자기기가 디지털 신호를 사용한다. 아날로그 신호: 연속적인 신호 디지털 신호의 장점 - 잡음에 강하며, 원음의 손실이 적다. - 정보 단위의 저장과 용량이 명확하다. - 아날로그 신호보다 전송에 유리하다. - 신호의 손실 없이 복사가 가능하다. 디지털 신호의 단점 - 아날로그 신호로 완벽하게 복구가 불가능하다. 디지털 시스템은 정보를 저장, 처리하는 능력이 아날로그보다 월등히 뛰어나므로 현재는 극단적인 상황을 제외하고 거의 모든 전자기기는 디지털 시스템을 사용한다. Digital Design에서는 컴퓨터가 알아들을 수 있는 디지..