본문 바로가기

보고서/9월 업무일지

9월 29일 업무일지

C프로그래밍

 3. C함수의 구조
  프로그램 설명 
#include <stdio.h>  // 표준입출력함수를 포함시킨다.

void main()   // C프로그램의 실행은 항상 main() 함수로부터 시작된다.
main, winmain 등을 총칭해서 엔트리포인트(Entry Point) 라고부른다.
프로그램에서 반드시 있어야함, ()생략 불가능
main 이 없을경우 에러가 난다.

*라이브러리 = 함수모음
*표준라이브러리 = 기본제공함수모음

 개행문자
\n - 백(역)슬래쉬n 은 한칸 내려와서(line feed) 앞으로 가는(carrage return) 기능이다

도스창 영문모드변경 - 명령 프롬프트상에서 chcp437 입력 영문에서는 \가 \표시된다.


 변수의 선언과 사용
  변수 : 메모리에 저장되는 위치

진법
2진법, 10진법, 8진법, 16진법 
진법에서는 2의 제곱등 숫자들이 무게수(웨이트)를 가지고, 한자리 수로 표현된다.

16진법
0~F 까지 사용

2진법의 계산법

8진법 16진법도 같은 방식으로 하면된다.

윈도우계산기의 Hex(16진법), Dec(10진법), Oct(8진법), bin(2진법) 을 이용하면 편리하다.

4비트씩(단위:니블) 끊어서 계산하면 16진법 으로 빠르게 변환이 가능하다
ex)10001010(2)
1000 / (끊어서) 1010  = 8비트를 4비트식 2부분으로 나눈후 계산하면 앞에 비트는 10이 나오고 뒤에 비트는 9가 나오게 된다
10은 16진수에서  A이므로 [9A] 가 위의 2진수를 16진수로 표현한 것이다.

8진수는 앞에서 부터 3자리씩 끊어서 계산하면 빨리 구할수 있다.


1. 10진수-2진수 변환

v 정수부분과 소수부분으로 나누어 변환
v 정수부분은 2로 나누고, 소수부분은 2를 곱한다.
v 10진수 69.68752진수로 변환하는 경우


v 10진수 69.62진수로 변환하는 경우
v 10진수 소수부분은 대부분의 경우 정확한 2진수로 변환이 안 된다.

2. 2진 음의 정수 표현과 보수(complement)

v 최상위비트(MSB)를 부호비트로 사용

  양수(+) : 0     음수(-) : 1

v 2진 음수를 표시하는 방법
부호와 절대치(sign- magnitude)
1의 보수(1's complement)
2의 보수(2’s complement)
v 1의 보수로 변환하는 방법
01, 10으로 변환

 000000111의 보수 = 11111100

v 2의 보수로 변환하는 방법
1의 보수 + 1 = 2의 보수

   000000112의 보수 = 1의 보수 + 1 = 11111100 + 1 = 11111101

   011011002의 보수 = 1의 보수 + 1 = 10010011 + 1 = 10010100


최상위 비트(sign bit)를 부호비트로 사용하는 방식을 sign magnitude 방식 이라고 하면 이방식에서는 음수

덧셈이 문제가 된다.

그래서 다른방법이 나왔는데 보수(컴플리트)를 이용한 방식이 그것이다.

0-255 중 0-127까지 양수 128-255 까지를 음수로 정한다. 양수 1이 00000001 이고 음수 1이 255 이므로 11111111 이다. 더하면 00000000 이되므로 값이 0이되어서 계산이 맞게 된다.

빼기는 2의 보수로 바꿔서 더하는 방식이다.

이 방식도 사인드매그니튜드 방식처럼 최상위비트로 양,음수 구별이 가능하다.


메모리에 1바이트를 쓰겠다는 명령어 : char(캐릭터)

char A  - 위치가 A 

A = ex)403호


'보고서 > 9월 업무일지' 카테고리의 다른 글

9월 30일 업무일지  (0) 2010.09.30
9월 28일 업무일지  (0) 2010.09.28
9월 27일 일일보고서  (0) 2010.09.27
9월 24일 일일보고서  (0) 2010.09.24
9월 20일 일일보고서  (0) 2010.09.20