27. [기본 문법 활용하기] 프로그래밍을 위한 기본사항

y55n·2022년 3월 28일
0

정보처리기사

목록 보기
28/50

수제비 2022 정보처리기사 실기 수험서를 보고 공부한 기록입니다.


👉진수

1. 진수(Antilogarithm) 개념

  • 특정 개수의 숫자만을 이용하여 수를 나타내는 수 체계이다
  • 10진수 이하일 때는 0~9를 사용하지만, 10진수 초과할 경우는 영어 알파벳(A~F)을 이용한다

2. 진수 변환

① 10진수를 n진수로 변환

  • 10진수 값을 몫이 n보다 작을 때까지 n으로 나누고 나머지 값들을 표시한 후에 나머지 값들을 읽는다

■10진수 13을 2진수로 변환(10진수 이하 진수로 변환)

  1. 10진수 값을 몫이 2보다 작은 값이 될 때까지 2로 나누고 나머지 값들을 표시
    • 13을 2로 나누면 몫은 6, 나머지는 1
    • 6을 2로 나누면 몫은 3, 나머지는 0
    • 3을 2로 나누면 몫은 1, 나머지는 1
  2. 나머지 값들을 읽음
    • 몫인 1부터 나머지 값들을 나온 순서의 반대로 읽음(1101)
    • 13의 2진수는 1101

■10진수 201을 16진수로 변환(10진수 초과 진수로 변환)

  1. 10진수 값을 몫이 1이 될 때까지 2로 나누고 나머지 값들을 표시
    • 201을 16으로 나누면 몫은 12, 나머지는 9
  2. 10 이상의 숫자들을 영어 알파벳으로 변환
    • 12는 C이므로 12를 C로 변환
  3. 나머지 값들을 읽음
    • 몫인 C부터 나머지 값들을 나온 순서의 반대로 읽음(C9)
    • 201의 16진수는 C9

② n진수를 10진수로 변환

  • n진수에서 마지막 자리는 자리 숫자에 자릿값인 n0을 곱하고, 마지막에서 두 번째 자리는 자리 숫자에 자리값인 n¹을 곱하고, 마지막에서 세 번째 자리는 자리 숫자에 자릿값인 n²을 곱하고, ··· 자리 숫자와 자릿값을 더해 10진수를 계산한다

■2진수 1101을 10진수로 변환(10진수 이하 진수를 10진수로 변환

① 자리 숫자에 자릿값을 곱한 값 계산

자리 숫자1101
자릿값2³(=8)2²(=4)2¹(=2)20(=1)
계산1×8=81×4=40×2=01×1=1

② 계산한 값들을 합산

  • 8+4+0+1 = 13
  • 2진수 1101의 10진수 값은 13

■16진수 C9를 10진수로 변환(10진수 초과 진수를 10진수로 변환)

① 자리 숫자에 자릿값을 곱한 값 계산

자리 숫자C9
자릿값16¹(=16)160(=1)
계산C×169×1=1

② 영어 알파벳을 숫자로 변환

10진수16진수
10A
11B
12C
13D
14E
15F
자리 숫자129
자릿값16¹(=16)160(=1)
계산12×16=1929×1=1
  • C는 12이므로 12로 변환

③ 계산한 값들을 합산

  • 192+9=201
  • 16진수 C9의 10진수 값은 201

👉아스키 코드

1. 아스키 코드(ASCII; American Standard Code for Information Interchange) 개념

  • 미국 ANSI에서 표준화한 정보교환용 부호체계이다
  • 영문 키보드로 입력할 수 있는 모든 기호가 할당된 기본적인 부호체계이다

2. 주요 아스키 코드

10진수부호10진수부호10진수부호
0NULL65A97a
32' ' (Space)66B98b
48067C99c
49168D100d

■아스키 코드 예제

[소스코드]

#include <stdio.h>
void main(){
	char a;
	a='A'+2;
    
	printf("%d %c",a,a);
}

[출력]

67 C

  • 'A'는 65에 2를 더하면 a라는 변수에 67이 저장됨
  • %d는 10진수 출력이므로 67이 출력, %c는 코드를 출력하므로 'C'를 출력
profile
나 혼자 공부 기록

0개의 댓글