42일차 - 2022.04.13

안병욱·2022년 4월 13일
0

ASCII 에 대해

  1. 정의
  • 미국정보교환표준부호 즉, 아스키는 영문 알파벳을 사용하는 대표적인 문자 인코딩의 방법으로 7비트 인코딩
  • 문자를 입력시 컴퓨터에게 숫자로 변환되 전달이 되고 컴퓨터는 아스키코드를 뒤져 해당하는 문자를 출력해줌

  1. 구성
  • 33개 출력불가능 제어문자 + 95개 출력가능 문자 = 128개 (000~127)

  • 제어문자들은 역사적 이유로 남아있으며 대부분 사용되지 않음.

  • 출력가능 문자
    52개 영문알파벳 + 10개숫자(0~9) + 32개 특수문자 + 하나의 공백문자

  • 자주 쓰이는 것으로는
    0 * 30 = 0
    0 * 40 = A
    0 * 61 = a

  • 대문자와 소문자는 다른것

  • 아스키 코드에 숫자도 존재하는데 문자와 숫자 혼합된 곳에 사용 (ex 주소)


  1. 특징
  • 1바이트 즉, 8비트로 구성된 아스키를 7비트만 사용하는 이유는
    나머지 1비트를 통신에러검출을 위해 사용하기 때문임.(패리티 비트)

  1. 한계
  • 영어권의 언어는 표현가능하지만 모음과 자음이 있는 한글(2바이트) 등의 언어들은 1바이트인 아스키코드로 활용불가

  • 나라마다 같은 코드값에 다른 글자를 쓰는 방식으로 원활한 자료교환 불가

-> 이를 해결하기 위해 현대는 유니코드를 사용함.


유니코드

전세계 모든 문자를 컴퓨터에서 다룰 수 있게 설계된 산업표준


1. 컴퓨터는 왜 2진수를 사용할까

-컴퓨터는 전기를 활용하여 수많은 트렌지스터를 ON/OFF하는 행위를 반복한다. 데이터가 있을 때 전압이 발생한 곳이 1, 발생하지 않은 곳을 0으로 처리
-오류의 최소화와 효율성이 목적

2. 그럼 16진수는 왜 사용할까

-2진수는 상당히 많은 공간을 차지하므로 가독성을 해칠수 있어 8진수와 16진수가 등장했는데 이중 16진수는

  • 4비트 4비트로 구성되어 있기에 데이터의 경계선이 명확하다
  • 표현이 간단하고 자릿수를 덜 차지해 효율이 좋음
    ex) 2진수 0101 1111을 16진수로 표현하면 0*5F

3. 왜 10진수 대신 16진수를 쓸까

  • 컴퓨터의 내부구조는 2진수를 사용하는데
    2진수와 10진수로 서로 변환시키려면 계산을 거쳐야 하지만
    2진수와 16진수로 서로 변환은 바로 가능하다.
  • 16진수는 0~9까지는 10진수와 같게 표현하고 그 이후는
    10 - A, 11 -B, 12 - C, 13-D, 14-E, 15-F로 표현

용어정리

  • (문자) 인코딩
    아날로그, 복잡한 신호를 0과 1의 디지털신호(2진수)로 변환하는것
    대부분의 인코딩이 아스키에 기반을 두고 있음.

  • 4비트 = 1니블(nibble)
    8비트 = 2니블 = 1바이트(컴퓨터가 데이터를 저장하는 최소 단위)


Baekjoon에서 문제풀이

오늘 공부한 내용을 참고해 막혀있던

1) 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
2) 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. 각 테스트 케이스마다 A+B를 출력한다. (0 < A, B < 10)

2문제를 시도했는데 아직 1번문제는 시간초과와 2번문제는 런타임오류 나는것에서 벗어나지 못함. 될거 같아서 이렇게 저렇게 해보았는데 아직 답을 찾지 못함.
공부했던 내용과 그동안 풀었던 문제 모두 돌아보며 다시 풀어보겠음.


하루 돌아보며

ASCII 코드에 대해 완전히 이해한건 아니지만 원리와 유니코드가 현대에 쓰이게 된 과정 등 큰 맥락에서는 이해함.
최근 2일 가능했던 시간에 집중하지 못하고 당일에 끝내지 않고 넘겨버림. 다시는 이런일이 없도록 노력해야 할것

ASCII에 대해 조금더 심화적인 내용 공부해보겠음.

만족도 : ★☆☆☆☆

공부 출처

BaekJoon
유튜브 - 시골사는개발자
위키백과


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독 혹은 공부간 틀린 내용 발견시 수정하겠습니다

profile
working hard

0개의 댓글

관련 채용 정보