전체 글 148

js 추가문법과 함수

js document 객체 document 객체는 웹페이지 그 자체를 의미한다. documnet 객체에서도 다양한 메서드들을 제공하는데 요소 선택, 요소 생성, 이벤트 헨들러 추가, 객체의 선택 등이 있다. LAB1 alert : 경고 문을 띄워 준다 .onchange : 안의 내용이 바뀔때에 이벤트 실행 .onclick : 클릭 이벤트가 발생 했으 때에 이벤트 실행 .write() : html 출력 스트림을 통해서 텍스트 출력 .getElementById : html tag의 id 를 통해서 태그를 선택 .innerHtml : 선택한 태그 안에 html 작성 이러한 자바스크립트 함수들을 html 태크안에 배치 시킬 수 도 있다. LAB2 split(separator, limit) : 문자열을 separ..

javascript 2022.04.14

js 문법

자바스크립트의 자료형은 총 6가지이다. string , number, boolean, function, object, undefined 위의 undefined 자료형은 선언은 하였지만 초기화가 안 된 경우를 말한다. 자료형도 바꾸어 줄 수 있는데 String() Number() Boolean() 을 활용한다. 이때 만일 Number() 함수에 잘못된 값이 들어 온다면 NaN 으로 바뀌게 된다. 이는 Not a Number 이라는 의미이다. 다음은 자동 자료형 변환을 알아보자 자동 자료형 변한은 변환 함수를 사용하지 않아도 자동으로 전환된다는 것이다. 예시로는 문자열과 숫자를 더하게 되면 숫자가 문자열로 바뀌게 된다. 불 자료형으로도 자동현 변환이 가능한데 변수앞에 !! 를 붙이게 되면 자동으로 불 자료형..

javascript 2022.04.13

논리회로 설계

저번 시간에는 don't care 를 활용하여 더욱 최적화가 되는 경우를 알아 보았다. 하지만 이렇게 don't care 까지 고려한다면 고려 해야 하는 경우의 수가 너무 많아진다. 그리고 이를 사람이 하다보면 실수가 있을 수 밖에 없다. 따라서 최적화 하는 방법을 순서를 나누어 보았다. 이를 three steps of QM method 라고 한다. 총 3단계로 나누어지는데, 1 : prime implicant 를 만든다. 2 : essential prime implicant 를 찾는다. 3 : minimum prime implicant 를 찾는다. 우선 첫번째 단계를 하기 전에 우리가 k-map에서 prime implicant 를 만들었을때를 생각해보자. k-map 에서는 우선 map을 만들 때에 있어..

논리회로 설계 2022.04.13

C++

parameter passing massage call by value : 메모리에 새로 할당하여 그곳에 값을 복사해서 넣어준다. call by reference : 주소 값 자체를 보내준다. 따라서 call by value 는 함수안에서 값만 활용하고 싶을 때에 사용하고 call by reference 는 그 값을 받아와서 수정까지 하고 싶을 때에 사용합니다. call by value 로 나타낸 함수 이다. swap 함수안에서 수정이 되고, swap 함수가 끝나면 새로 할당 된 값들이 사라지기에 최종 적으로 수정이 되지는 않는다. call by reference 를 이용한 함수이다. 위와 같이 가져오게 된다면 swap 함수에서 가리키는 곳이 main에 있는 a 와 같기에 수정한 값이 swap 함수가 끝..

C++ 2022.04.12

논리회로 설계

don't care combination don't care input : 해당 input이 디자인 상에서 활용 되지 않을때를 말한다. 따라서 don't care input을 정할 때에는 항상 조심해야 한다. 만에 하나라도 사용이 될 수 있는 input 은 don't care input 로 설정하면 오류를 초래할 수 있기 때문이다. 이 don't care input을 설정 한 후에는 해당 output 을 최적화 하기 좋게 0, 1 로 바꾸어서 사용이 가능하다. multiple output cuircit local optimal 이 항상 global optimal 을 기대할 수는 없다 (multiple output cuircit 일 때에는 각각의 로컬에 입력 되는 입력값을 공유한느 경우가 많기 때문에 gl..

논리회로 설계 2022.04.11

C++ 포인터

포인터 변수란 메모리의 주소값을 가지고 있는 변수이다. 메모리의 단위는 바이트다. 1바이트는 8비트이다. 변수의 자료형의 크기에 따라서 할당되는 양이 다르다. 변수의 주소를 가져오는 연산자는 &이고, 주소안의 값을 참조하는 연산자는 *이다. 포인터의 선언은 자료형에 *을 붙여서 포인터 자료형임을 나타낸다. 예를 들어 char*, int*, double* 처럼 자료형을 나타낸다. 하지만 위의 모든 포인터 자료형들의 크기는 8byte이다. 그 이유는 모두 주소값을 나타내는 자료형이므로 주소를 담기 위해서는 8byte가 필요하기 때문이다. 하지만 운영체제 별로 64bit 운영체제이면 64bit 만큼의 주소가 표현이 가능하므로 8byte, 32bit os 이면 32bit 만큼 표현이 가능하므로 포인터의 크기가 ..

C++ 2022.04.07

c++ 변수의 scope

scope: 함수 상에서 보이는 변수가 선언되고 사용 될 수 있는 공간 이다. 범위의 종류에는 지역변수와 전역변수가 있다. 지역변수의 스코프는 {}, 하나의 블럭 안에서 선언 되면, 그 안에서만 사용이 가능하다. 그리고 블럭이 끝나면 지역변수는 자동으로 삭제 된다. life time : 메모리에 존재하는 시간을 말한다. 전역변수와 지역변수가 이름과 같게 선언되면 지역변수가 전역 변수를 가린다. 함수의 매개 변수도 일종의 지역변수로 그 함수 안의 블럭에서만 사용이 가능하고, 함수가 종료되면 지역변수도 사라진다. 그리고 함수에 인자로 변수가 들어갈 때에는 값이 복사가 되어 원래 선언된 주소와 다른 주소에 할당이 되어 호출된 함수가 종료될 때까지 사용되고 사라진다. 이를 call by value 라고 한다. ..

C++ 2022.04.07

C++ 배열

c++ 배열의 저장 배열의 저장은 각각의 주소값들이 인접하여 저장된다. 다차원 배열도 1차원 적으로 저장된다. 주소값은 많이 다양하게 표현하기에 16진수를 사용한다. 크기는 운영체제 별로 다른데 32bit os는 4byte, 64bit os는 8byte로 표현한다. 배열의 인덱스에 접근할 때에는 유효한 범위인지 판단하지 않는다. 따라서 조심스럽게 활용해야 한다. ubuntu 에서는 선언되는 값들을 붙여서 할당하므로 배열에 유효한 인덱스를 넘게 되면 엉뚱한 곳에 값이 들어갈 수 있다. window의 경우에는 띄엄띄엄 할당 되므로 아예 할당이 안된다. 배열의 이름은 그 자체로 그 배열의 주소다. 그 주소는 배열의 [0]의 주소와 같다. 각각의 배열의 칸의 크기는 배열 안의 아이템의 자료형에 따라서 달라진다...

C++ 2022.04.06

C++ 자료형

자료형에는 기본 자료형, 파생 자료형, 사용자 정의 자료형이 있다. 기본 자료형에는 정수형 자료형, 실수형, void 자료형등이 있다. 파생 자료형에는 포인터, 배열, 함수 등이 있다. 사용자 정의 자료형은 구조체 등을 뜻한다. 1byte = 8bit 문자 자료형 char : 1byte 따라서 범위는 0 ~ 127 이다. 원래는 255 까지 이지만 127 ~ 255 까지는 특수문자등이 정의 되어 있다. 찍게 되면 8진수로 출력 되는 경우도 있다. 불 자료형은 크기를 정하지 않는다. 실수 자료형 float : 4byte 유효숫자의 범위는 소수점 7자리 까지이다. double : 8byte 유효숫자의 범위는 소수점 15자리 까지이다. long double : 8 or 10 byte 이다. 정수 자료형의 크기..

C++ 2022.04.06

논리회로설계

K-map k-map 의 작성방법은 truth table 에 입력된 값을 토대로 들어가는 인자들을 x축과 y축의 인자에 채워 놓은 후에 그의 결과값들을 테이블에 채워 넣는다. 위와 같이 만들 수 있다. 그리고 위에 보이는 식과 같이 circle을 묶어서 각각의 값들을 더해서 최적화된 회로를 작성 할 수 있다. 트루스 테이블에서 각각으로 sop를 한 값과 동일하다. 위 처럼 겹치게 묶어도 가능하다. 이 k-map의 원리는 circle로 묶게 되면 입력이 1, 0 둘다 들어와도 성립하는 인수들을 제거하고 1이나 0만이 들어와야하는 인수들만을 묶어서 식을 작성할 수 있다. 따라서 k-map의 위의 인수를 배치 할때에는 00, 01, 11, 10 이런 식으로 하나의 인수만 변경되도록 배치하여야 한다. 따라서 각..

논리회로 설계 2022.04.06