IT 프로그래밍 376

아날로그 신호와 디지털 신호의 차이, 디지털 정보 표현 단위

아날로그 신호 :: 자연계에서 일어나는 연속적인 변화(잡음에 약함) 디지털 신호 – 분명히 구별되는 두 레벨의 신호값(잡음에 강함) 디지털 시스템의 장점 -내,외부 잡음에 강하다. -설계가 용이하다 -유연성 및 개발기간을 단축할 수 있으며 정보를 저장하거나 가공하기 용이하다. -정보처리 정밀도를 높일 수 있으며 비선형 처리나 병렬 처리 등도 가능하다. -소형화, 저가격화를 구성할 수 있다. 아날로그 신호를 전송하고 싶으면 오류 발생 >> 디지털로 변환하는 A/D converter 변환기를 통해 디지털 신호로 내보내는 겁니다. 아주 큰 잡음이 있지 않는 이상 가능하며 아날로그 신호가 있는데 이 신호를 표현할 때 256도 가능하며 8단계도 가능합니다. 이렇게 단계를 넓히면 넓힐수록 정밀도는 높아집니다. ex..

[따배시 1.12~14] 헤더가드, 네임스페이스, 전처리기

#ifndef MY_ADD #define MY_ADD int add(int a, int b) { return a + b; } #endif 만약 MY_ADD가 정의되어 있다면 다시 정의하지 마라 이런 의미입니다. 이런 헤더가드가 필요한 이유는 중복이 되지 않게 방지하도록 하기 위함입니다. #pragma once 헤더 파일을 실행하면 항상 맨 처음에 이 #pragma once라는 것이 있는데 이것이 왜 있는지 처음에 궁금하신 분들이 많으실겁니다. 앞서 말해드린 ifndef define endif 처럼 중복이 되지 않도록 방지해주는 역할을 하는 것이 바로 이 #pragma once입니다. 헤더파일은 웬만해선 반드시 해당 #pragma once 가 들어가야 합니다. 네임스페이스 사용법 #include names..

[따배시 1.8~2.0] 연산자와의 첫 만남, 기본적인 서식 맞추기, 정의

int main() { int x = 2; // x is a variable, 2 is a literal. cout 0) ? 1 : 2; 코드는 다음과 같은 의미를 갖습니다. x가 0보다 큰 경우, y에 1을 할당합니다.그렇지 않은 경우(즉, x가 0 이하인 경우), y에 2를 할당합니다. 즉, x의 값에 따라 y의 값이 결정됩니다. 만약 x가 0보다 크면 y에는 1이 할당되고, x가 0 이하이면 y에는 2가 할당됩니다. 기본적인 서식 맞추기 int main() { int my_v= 1; int x= 4; int num_apples= 123; //this is important int x = 1 + 2; //this is important too int y = 3 + 4; return 0; } Tab키를..

[따배시 1.6~7] 키워드와 식별자 이름짓기, 지역범위

프로그래머의 관습적인 사용 방법 변수를 대문자로는 쓰지 않습니다. - 매크로에 쓰이기 때문에 그리고 변수는 띄어 쓸 수 없기 때문에 number of apples 같은 변수를 만들려면 _ 를 써서 number_of_apples 이런 식으로 해주면 됩니다. 지역범위 int main() { int x(0); // x = 0; return 0; } 여기서 x는 0으로 {} 안에 정의되어 있습니다. 이것은 {}를 벗어나면 x는 사라지는 값이 되게 됩니다. 중괄호의 역할은 영역을 분리해주는 것입니다. #include int main() { int x = 0; int x = 1; { int x = 1; } { int x = 2; } return 0; } 이런식으로 int x = 0 후에 int x = 1 이런식으로..

[따배시] 9.4 변수의 영역과 지역 변수

변수는 영역에 따라서 변수를 받을 수 있고 받지 않을 수도 있다. {}를 기준으로 변수를 구분할 수 있는데 {}안에 int a; 가 선언이 되었다면 {}밖에 값에서 a를 불러올 수는 없는 것이다. 블록 안에서만 유효하기 때문이다. 강의에서는 이 내용을 예제와 함께 설명해주었다. #include #include int int_max(int i, int j); int int_max(int i, int j) { int m; //{} 블록 안에서만 유효 m = i > j ? i : j; return m; } int main() { int a; a = int_max(1, 2); printf("%d\n", a); printf("%p\n", &a); { int a; //영역이 다를 경우 변수 이름이 같아도 문제가 없..

IT 프로그래밍 2024.01.15

[따배시 6.1] while문을 이용한 scanf 함수 정의

int main(void) { int num, sum = 0; int status; printf("Enter an integer (q to quit) : "); //문자를 입력했으면 0으로 뜬다. status = scanf("%d", &num); while (status == 1) { sum = sum + num; printf("Enter next integer ( q to quit) : "); status = scanf("%d", &num); } printf("Sum = %d\n", sum); return 0; } 위 예제 같은 경우 올바르게 작동은 하지만 status가 반복이 되는 것을 볼 수 있다. 프로그래밍을 할 때는 반복되는 점을 최대한 줄여야 하기 때문에 위의 status를 while문 괄호 ..

IT 프로그래밍 2024.01.09