라벨이 트랜지스터인 게시물 표시

C언어 - 프로그래밍 언어의 문법

이미지
1. 언어의 문법 인간이 사용하는 언어에는 매우 다양한 문법 이 존재하며, 이를 익히는 데에는 많은 시간이 필요하다. 명사, 동사, 시제, 어순 등 매우 많은 문법을 익혀야 한다. 프로그래밍 언어는 컴퓨터에게 무엇을 어떻게 할지 지시하기 위한 명확한 목적을 가진 언어이다. 비교적 적은 수의 문법 요소만으로도 의미의 표현과 실행이 가능하다. 사람이 쓰는 언어와 달리 프로그래밍 언어는 몇 가지 핵심 문법 만 이해하면 바로 사용이 가능하다. 2. C언어 문법 프로그래밍 언어는 다음과 같이 다섯 가지로 구성되어 있다. 변수 - 값을 저장한다. 연산 - 값을 계산한다. 문장 - 내용을 실행한다. 제어 - 실행 순서를 변경한다. 함수 - 여러 문장을 하나로 묶는다. 이 다섯 가지만의 문법만 이해해도 프로그램의 기본 구조를 이해할 수 있다. 2.1. 변수 (Variable) 변수는 값(value)을 저장하는 메모리 공간에 이름 을 부여한 것이다. 프로그램은 변수를 통해 데이터를 기억하고, 참조하고, 변경한다. 2.1.1. 변수 타입(Type) 변수 타입은 변수가 어떤 종류의 값을 저장 하며, 그 값을 어떻게 해석할지를 결정하는 규칙이다. 변수 타입에 의하여 저장 가능한 값의 형태, 메모리 사용 방식, 그리고 허용되는 연산의 종류가 결정된다. int count; count = count + 1 ; // int type stores integer values.   char grade = 'A' ; // char type stores a single character or small integer values.   float ratio = 0.75f ; ratio = ratio * 100.0f ; // float type stores floating-point (real) values. 2.1.2. 상수 상수는 값이 바뀌지 않는 변수 이다. C언어에...

게이트 회로로 이해하는 컴퓨터 연산

이미지
1. Computer 영화 "히든 피겨스(Hidden Figures, 2016)"는 NASA의 우주 개발 프로젝트를 성공으로 이끈 숨겨진 흑인 여성 계산원의 실화를 다룬 영화이다. 이 영화 속에서 계산원들의 직함은 " computer "이다. 컴퓨터(computer)는 계산을 하는 기계이다. 그런데 어떻게 계산을 수행하는 것일까? 컴퓨터는 수 많은 트랜지스터로 구성된 " Gate Circuit "을 이용하여 논리 연산과 산술 연산을 수행한다. 2. 연산 (Operation) 2.1. Basic 전류가 흐르면( ON ) 전구가 켜지고, 흐르지 않으면( OFF ) 꺼진다. 👉  circuitjs-basic ※ 전류를 흐르게 만드는 전자는 실제 물리적으로는  (–) 에서  (+) 로 이동한다. 그러나 전자의 존재를 알지 못했던 당시, 프랭클린이 ‘전하가 (+)에서 (–)로 움직인다’고 정의한 규칙이 오랫동안 사용되면서, 오늘날에도 전류의 방향은 관례적으로 (+)에서 (–)로 흐르는 것으로 표현한다. 2.2. Transistor 그런데, 반도체(Semiconductor) 라는 것은 전기를 흐르게도 할 수 있고, 흐르지 않게도 할 수 있다. 대표적으로 트랜지스터(Transistor) 는 이러한 반도체의 특성을 이용하여 전류의 흐름을 제어 할수 있다. 👉  circuitjs-transistor 2.3. Gate 트랜지스터(Transistor)를 이용하여 기본 AND, OR, NOT, NOR, XOR 연산을 구현할 수 있다. 이것을 Gate Circuit 라고 하며, 이러한 여러 게이트를 조합하여 복잡한 디지털 논리 회로(Circuit) 를 구성한다. 👉  circuitjs-gate 👉  circuitjs-gate_xor 2.3.1. AND Gate X, Y가 모두 ON 일때 ...