본문 바로가기

Embedded Programming

파일 입출력(File Input/Output) 소스 #include int main() { int score; char name[10]; FILE *fpin, *fpout; // 파일 구조체 포인터 생성 // fpin과 fpout은 ""라는 파일명의 파일 주소를 가진다. "r" : read only fpin = fopen("d0327in.txt", "r"); // fopen() : 파일을 열어주는 함수 if (0 == fpin)// 0 = fpin으로 잘못 입력하면 컴파일러가 오류를 찾아준다. { printf("d0327in.txt 파일을 열 수 없습니다.\n"); return 0; }else printf("d0327in.txt 파일이 열렸음\n"); // d0327out.txt를 open. "w": write fpout = fopen("d0327out... 더보기
4 byte float format (float 형의 실수 저장 방식) 일반 정수형 자료형은 보수법을 이용해 음수와 양수를 저장하지만, 실수형 자료형인 float 는 부동 소수점 방식과 부호 비트 방식을 사용하여 데이터를 저장합니다. float 자료형은 4 bytes의 크기 안에서 비트 별로 쪼개서 데이터를 저장하는데첫번째 1bit 는 부호를, 그 다음 비트부터 8bit 만큼은 지수를, 나머지 23 bit는 가수를 저장합니다.예를 들어, 100.34라는 실수가 있을 때 1.0034x10₂의 형태로 표현하는 것인데,소수점의 위치를 지정해주는 지수(10₂)와 1.0034라는 가수부분으로 나눌 수 있다. float형은 이 부동 소수점 방식에 최초 1bit를 부호비트로 할당하는 것이다. 이를 직접 확인해보는 C 프로그램을 작성해보자. float형 변수 fNum에 담긴 값을 char.. 더보기
포인터(pointer) 변수의 개념 * 포인터 변수란?포인터(pointer)는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 포인터가 가리키는 값을 가져오는 것을 역참조(逆參照, dereferencing)라고 한다.포인터는 어셈블리어, C, C++, 파스칼 등 하위 레벨까지 제어할 수 있는 언어에서 주로 많이 쓰이며, 모듈라-2, 에이다와 같은 언어에서는 극히 제한적으로 사용되고, 자바, 에펠등에서는 완전히 숨겨져 사용할 수 없다.첫 번째 부류의 언어에서는 포인터를 메모리의 임의의 주소를 가리키도록 할 수 있으며 포인터의 연산도 가능하다.C#의 경우 제한적으로 포인터가 사용 가능하다.일반적으로 포인터는 메모리 주소로 바꿀 수 있다. 포인터는 다른 변수나 함수를 가리키도록 사용된다.-위키백과 포인.. 더보기
Visual Studio 디버거 사용법 (Debugging) 오늘은 Visual Studio의 디버거 사용법을 익혀 보도록 해요 *디버깅(Debugging)이란? 디버깅[ debugging ]오류 수정. 컴퓨터 프로그램의 잘못을 찾아내고 고치는 작업. 일단 작성된 프로그램들이 정확한가(즉 잘못 작성된 부분이 없는가)를 조사하는 과정. 이 작업은 ① 기계에 넣기 전에 책상 위에서 주어진 문제대로 프로그램이 작성되었는가를 순서도와 메모리의 작업 영역표에 실제 데이터를 넣어서 수동 작업으로 정확한 결과가 나오는가를 검사하는 데스크 상의 검사와 ② 컴퓨터를 이용한 표준적 데이터로 메인 루틴을 조사하는(이때 예외 사항이 포함된 데이터와 오류가 있는 데이터도 함께 이용한다) 컴퓨터를 사용한 검사, ③ 실제 데이터를 사용하는 조사 등 세 단계로 나누어 진행된다. 또한 이 작업.. 더보기
ASCII Code Table 아스키 코드 표 ASCII 코드란 American Standard Code for Information Interchange 의 약어로서, ANSI가 정의한 미국 표준 정보 교환 코드이다. 이는 영어를 비롯한 각종 기호들을 1 byte의 크기 범위내에서 표현할 수 있도록 정의한 것인데, 초창기에는 7 bit만 사용하여 0~127까지만 정의해 놓았다.(2의 7승개죠!) char형 변수에 각 문자의 10진수 값을 삽입해서 출력해보면 ASCII 코드를 확인해볼수 있다.(** Command창이나 메모장에서도 Alt+우측 키패드 숫자키를 입력하고 Alt키를 떼면 확인할 수도 있음!!)0~31번까지는 제어문자로 눈으로 확인하기가 쉽지 않다.아래표는 문자의 종류를 보기쉽게 분류해놓아서 첨부하기로 했어요~ㅋ 그리고 아래표는 127번부.. 더보기
형식 지정자 정리 printf()나 scanf()등의 입출력 함수를 사용시 사용되는 형식 지정자에는 여러가지가 있다 형식지정자 자료형 %d signed int 10진수로 출력 %u unsigned int 10진수로 출력 %f 실수형으로 출력 %o 8진수(octal)로 출력 %x 16진수(hexa decimal)로 출력 %l long 형으로 출력 %h short 형으로 출력 #include int main() {unsigned int uiNum; uiNum = 0xFFFFFFFF; printf("unsigned int 제일 큰 수(0xFFFFFFFF) signed int로 출력 : %d\n", uiNum); printf("unsigned int 제일 큰 수(0xFFFFFFFF) unsigned int로 출력 : %u\n",.. 더보기
컴퓨터의 음수 표현법(보수법, 컴퓨터 뺄셈 연산의 원리) 컴퓨터는 이진수만 이해할 수 있다. 그렇다면 음수는 어떻게 표현되는 것인가?이에 대해서는 두 가지 방법이 고안되었는데, 부호비트 방식과 보수법을 이용한 방식 두가지가 있다. ① 부호비트방식 이는 최상위 비트(Most Significant Bit)를 부호표기를 위해 남겨두는 방식이다.예를 들어 8 bit 자료의 경우에는 양수 1은 0000 0001, 음수는 1000 0001으로 표현하는 방식이다. 하지만, 이는 +0과 -0이라고 0이 두 개 존재하는 문제가 있고, 양수와 음수간의 연산이 어렵다는 단점이 있어 실수(float, double)방식의 표현에만 쓰인다. ② 2의 보수법 방식 보수(補數)는 각 자리의 숫자의 합이 어느 일정한 수가 되게 하는 수이다. - 위키백과 각 진법의 보수에는 같은 수의 보수법.. 더보기
C 언어 전처리기 전처리기는 모든 C 컴파일러에 포함되어 있다. C 프로그램을 컴파일할 경우, 전처리기는 아래 소스 코드보다 먼저 전처리기가 실행되어 아랫줄의 소스코드를 전처리기 지시자(#include, #define..)에 따라 수정한다. #기호는 전처리기 지시자로, 전처리어의 시작을 알린다.ex) #include #define PI=3.14 * include 지시자프로그램이 #include 지시자를 만나면 전처리기는 지정된 파일을 읽어온다.#include 같은 형식을 사용하였으면 전처리기는 표준 디렉토리에서 그 파일을 검색한다.표준 디렉토리 : 도스 또는 윈도우에서 INCLUDE 환경 변수가 지정하는 디렉토리가 된다. 위 그림처럼 시스템 등록정보 고급탭에서 확인할 수 있습니다~ #include "stdio.h" 와 같.. 더보기
워밍업 마인드 스톰 기중기 더보기