전체 글
-
Lecture 7 (XOR, XNOR, SPP)디지털 회로개론 2021. 10. 11. 22:27
Exclusive-OR Gate (XOR) 두개의 인풋이 들어왔을때, 두개의 인풋이 서로 다를 경우 아웃풋이 1이 됩니다. 수 많은 인풋이 들어오면 인풋중 1의 개수가 홀수이면 아웃풋은 1이 됩니다. 논리식으로는 X = A(~B) + (~A)B 입니다. Exclusive-NOR Gate (XNOR) 직관적으로 NOT-XOR Gate 입니다. 따라서 XOR Gate의 결과와 완전히 반대입니다. 두개의 인풋이 들어왔을때, 두개의 인풋이 서로 다를 경우 아웃풋이 0이 됩니다. 수 많은 인풋이 들어오면 인풋중 1의 개수가 홀수이면 아웃풋은 0입니다. 논리식으로는 X = AB + ~A~B 입니다. Programmable Logic PLD : Programmable Logic Device 배열 AND와 OR로 구성..
-
chapter 3-1 : Stack & Queue (MAZE 미로)자료구조 2021. 10. 11. 14:54
스택을 이용하여 미로를 만들 수 있습니다. MAZE (미로 만들기 (stack 활용)) Initilize (미로 초기화) 먼저 2차원 배열을 통해 미로를 생성해 줄것입니다. 미로는 1과 0으로 이루어져있는데 0은 갈 수 있는 길이고 1은 막힌 길입니다. 우리가 미로를 통과하게 경로를 탐색하는 과정에서 벗어나지 않게 미로의 둘레를 막힌 길 1로 둘어쌓아줍니다. 따라서 2차원 배열의 행과 열을 ROW와 COL이라 할때, 실제적으로는 ROW+2, COL+2 입니다. 결국 미로 2차원 배열은 maze[ROW+2][COL+2] 라고 선언 가능합니다. 또한 시작점과 미로의 끝 점은 maze[1][1] 과 maze[ROW][COL] 이라고 할 수 있습니다. void initialize() {//미로 초기화 srand..
-
Lecture 5 , 6 (BCD, Gray, Error) code & Logic gate디지털 회로개론 2021. 10. 10. 22:42
Binary Coded Decimal (BCD 코드) 10진수를 2진코드로 표현한 것입니다. 각 10진수 기수(0 ~ 9) 는 BCD의 코드로 표현할 수 있습니다. 8421 BCD code (BCD 코드의 기본) 4bit로 표현합니다. 8421 코드 에서는 오직 10개의 숫자만 표현가능합니다. (0 ~ 9) 보통 4bit 에서는 16개의 수를 표현가능하지만(0 ~ 15) 8421 BCD 코드는 (0 ~ 9) 를 표현하므로 10 (1010), 11(1011), 12(1100), 13(1101), 14(1110), 15(1111) 즉, 이 6개의 숫자는 표현할 수가 없습니다. Dicimal -> BCD (10진수 -> BCD 코드) 10진수의 수를 BCD코드로 바꿔주는것은 정말 간단합니다. 그냥 BCD 코드..
-
chapter 2-4(String, KMP Algorithm)자료구조 2021. 10. 9. 02:25
문자열 c언어에서 문자열은 char형 배열로 볼 수 있습니다. 특징은 맨 마지막 문자열 \0(NULL)에 의해 종료됩니다. 예를들어 "dog" 라는 char형 3개로 이루어진 문자열을 저장하려면 문자열의 메모리를 4로 두어야합니다. 맨마지막 문자에 \0이 들어가기 때문입니다. [0] [1] [2] [3] d o g \0 문자열의 합체 (strcat) 서로 다른 문자열 끼리 합칠 수 있습니다. 보통 strcat 함수를 사용합니다. 예를 들어 char s[20] = "dog", char t[20] = "house"라고 한다면 둘의 문자열을 합치면 "doghouse" 가 됩니다. #include #include #include int main() { char s[20] = "dog"; char t[20] = ..
-
Lecture 4 : 진수 변환 및 계산디지털 회로개론 2021. 10. 6. 02:02
The Decimal Value of Signal Numbers(신호 숫자 10진수 변환) 1) Sign - Magnitude Sign Binary -> Decimal number ex) 10101010 -> sign binary(MSB : 음수) 0101010(Magnitude : (2^5) + (2^3) + (2^1) = 32 + 8 + 4 =42 MSB가 음수이므로 => -42 ex) 13 -> 8-bit binary number in the sign-magnitude system 13 = 8 + 4 + 1 => 0001101 => 여기에다가 MSB 0을 붙여주면 00001101 입니다. 2) 1's Complement 1)양수MSB가 양수일때, 모든 bit를 10진수로 전환시킵니다.ex) 0101..
-
Lecture 3(10진수, 2진수, Compliment)디지털 회로개론 2021. 10. 5. 23:59
10진수 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 23 = (2 * 10^1) + (3 * 10^0) 85.56 whole number : 85 fraction number : 56 ex) 568.23 = (5 * 10^2) + (6 * 10^1) + (8 * 10^0) + (2 * 10^-1) + (3 * 10^-2) = 500 + 60 + 8 + 0.2 + 0.03 = 568.23 2진수 1 , 0 0110 = (0 * 2^3) + (1 * 2^2) + (1 * 2^1) + (0 * 2^0) = 0 + 4 + 2 + 0 = 6 비트 가 n개 일때, 2진수로 만들 수 있는 가장 큰 수는 2^n -1 입니다. ex) 1111은 bit가 4이고 1111은 10진수로 15입니다. 15 = 2^4 ..
-
chapter 2-2(Sparse Matrix) : 구조체, 배열, 포인터자료구조 2021. 10. 1. 08:53
Sparse Matrix는 희소행렬이라고도 하며 행렬 원소가 0이 많은 것을 의미합니다. 이렇게 되면 쓸데 없이 많은 메모리를 사용하게 됩니다. 예를들어 (방법 1) 0 1 2 3 4 5 0 0 0 0 7 0 0 1 9 0 0 0 0 8 2 0 0 0 0 0 0 3 6 5 0 0 0 0 4 0 0 0 0 0 1 5 0 0 2 0 0 0 이러한 2차원 배열은 0이라는 쓸모없는 원소를 저장하기 위해 메모리를 6*6의 크기를 사용합니다. 이를 0을 제외한 (행, 열, 값)으로 표현하면 좀더 메모리를 절약할 수 있습니다. (방법 2) 행 열 값 0 0 3 7 1 1 0 9 2 1 5 8 3 3 0 6 4 3 1 5 5 4 5 1 6 5 2 2 이렇게 7*3의 크기를 가지고 행렬을 표현 할 수 있습니다. 하지만 ..