본문 바로가기

Programming

(38)
논리설계 Logic design NAND, NOR gate NAND gate들로 표현한 not, AND. OR gate NAND, NOR간의 Demorgan's Theorem
SOP, POS truth table truth table - 특정 변수가 들어가는 조건일때 - 특정 값이 나오는 table 0과 1로 이루어져 있음. ------ sum of minterms functions - truth table을 통해 곱들의 합으로 나타내는 것 => 결과값이 1이 나오는 식 mininum SOP (sum of products) 위 sum of minterms functions를 최대한 줄인 것 ------ product of sums - truth table을 통해 합들의 곱으로 나타내는 것 => 결과값이 0ㅇ이 나오는 식 mininum POS(product of sums) 위 pos를 최대한 줄인 것 그리고 이 식들을 AND OR NOT gates를 통해 그릴 수 있다.
complement number system 1. Unsigned Number and Signed Numbers 기본적으로 2진법으로 표현된다. 다만 signed numbers는 앞에 첫 1 bit가 부호로 표현이 된다. 0인 경우 아무것도 없으니 + 1인경우 1 작대기가 있으니 -로 부호가 표시된다. 다만 이런게 표현할 경우 몇가지 문제점이 생긴다. 2. Complement Number systerm - 보수 보수를 사용하게 되면 - 부호가 없이도 뺄셈 등을 할 수 있다. 이는 컴퓨터 bit들을 가지고 연산을 할 때 유용하게 사용된다. 컴퓨터는 사칙 연산을 할 때 1. 2진수 2. 가산기 만을 이용해서 계산을 한다. 그래서 뺄셈이나 나눗셈을 할 때는 보수를 이용해서 해야한다. 예를 들어서 9 - 6 = 3이다 뺄셈을 우리는 쉽게 계산할 수 있지만..
vim vi 및 linux 단축키 정리 Linux c언어로 compier 하고 싶을 때 gcc -o [실행파일 이름] [소스코드파일 이름.c] 실행파일을 실행시킬 때 ./[실행파일 이름] vi [소스코드 파일 이름.c] ls : directory tgz로 압축 tar -czvf name-of-archive.tar ./path/to/directory-or-file tgz 압축 해제 tar xvz ./압축해제파일.tgz 특정 directory에 복붙 sudo cp [파일이름] [공유폴더] vim vi 단축키 모드와 코드 작성시 모드 두가지가 있다. 단축키모드 h : 왼쪽 방향키 j : 아래 방향키 k : 위 방향키 l : 오른쪽 방향키 :q vi 파일에서 나가기 :wq 파일 저장 후 나가기 코드작성모드
C++ 이중포인터와 동적 다차원 배열 이중 포인터의 이해를 돕기위한 코드 #include using namespace std; int main() { int *ptr = nullptr; int **ptrptr = nullptr; int value = 5; ptr = &value; ptrptr = &ptr; cout
C++ 메모리 동적 할당, 동적 할당 배열 메모리를 새로 할당하고 제거할때 이러한 코드들을 작성한다. #include using namespace std; int main() { // new int 는 int 사이즈만큼 메모리 받아오고 // 그 주소를 알려줌 그래서 포인터로 받아야 한다. int *ptr = new int(7); cout
c++ Pointer의 기초 c 언어가 시스템의 기초를 다루는데 가장 유용한 언어라는 것도 알겠다. 정적 메모리와 동적 메모리를 관리하는데도 유용하고 #include using namespace std; int main() { int x = 5; cout
C++ 난수 random number 만들기 #include #include //std::radn(), std::srand() #include using namespace std; int main() { //std::srand(5343); //seed를 설정해주는 것 //다만 이렇게 되면 seed number가 고정이 된다. //그래서 srand를 time과 연결시켜준다 std::srand(static_cast(std::time(0))); for (int i = 0; i < 100; i++) { cout