[CS] 1-2 정수로 비트를 표현하는 방법 / 실수를 표현하는 방법 / 2진 코드화한 10진수 시스템

현수·2022년 1월 19일
0
post-thumbnail

정수로 비트를 표현하는 방법

  • LSB(가장 작은 유효비트) : 2진수에서 변경 시 가장 값이 적게 변경 (가장 오른쪽)
  • MSB(가장 큰 유효비트) : 2진수에서 변경 시 가장 값이 크게 변경 (가장 왼쪽)
  • 리딩제로: 가장 왼쪽있는 숫자 왼쪽에 추가된 0 (항상 일정한 개수의 비트를 사용해 값을 표현하는 경우)

  • 2진 수의 덧셈 : 1 + 1 = 10을 다음과 같이 논리연산으로 표현할 수 있다.

    1and1 = '1'+'0' = 1xor1

  • 오버플로(Over flow) : MSB보다 높은 자릿 수로 올림이 발생한 것
    - 조건코드 레지스터에서 처리(오버플로 비트가 존재)

  • 언더플로(Under flow) : MSB보다 높은 자릿 수에서 1을 빌려오는 것

음수 표현

  • 부호와 크기 표현법 : 음수를 표현하기 위해서 맨 왼쪽 한 비트를 부호에 사용하는 음수 표현법
    - 0의 표현법이 두가지라 낭비, XOR과, AND를 사용한 덧셈을 할 수 없다.

  • 1의 보수 표현법 : 음수를 표현하기 위해 맨 왼쪽 비트를 부호에 사용하되, NOT연산을 통한 보수로 채우는 방법.
    - 역시 0의 표현법이 두가지라 낭비.
    - 순환올림 : MSB에서 올림이 발생할 경우 lsb로 올림을 전달하는 1의 보수 표현법의 계산법

  • 2의 보수 표현법 : 더했을 때 0이 되는 보수를 찾아 음수를 표현하는 방법.




실수를 표현하는 방법

  • 고정소수점 표현법 : 소수점의 위치를 항상 일정하게 두는 실수표현법으로, 항상 일정비트만을 분수표현에 쓴다.

  • 부동소수점 표현법 : 가수와 지수로 나누어 표현.
    - 0 표현법이 네 가지인 등의 문제도 있지만 훨씬 더 넓은 범위의 수를 표현 가능.

IEEE 부동소수점 수 표준(IEEE 754)

  • IEEE(미국 전자전기공학회)에서 제정한 표준.
  • 정규화 : 가수를 조정해서 가수의 맨 왼쪽 수 즉, 정수부는 늘 1이 오도록 하는 것.
    - 이에 따라 맨 왼쪽 가수가 늘 1이 되므로 이를 생략하고 가수에 1비트를 더 쓸 수 있다.
  • 기본 정밀도와 두배 정밀도 : 32비트와 64비트 사용.
  • 편향된 지수값 : 지수가 모두 1로 채워지거나 0으로 채워지는 수는 정규화 할 수 없는 NaN이나 무한대를 표현하기 위해 미리 할당해놓고 그 나머지 수들로 지수를 표현하기 위해 편향된 값(bias)을 지정해두었다. 예를 들어 기본정밀도의 경우 편향값이 127로(01111111) 실제 지수가 0이라면 127(01111111)로 표현한다. 2배 정밀도 수의 경우에는 편향값으로 1023을 사용한다.

2진 코드화한 10진수 시스템

  • 2진 코드화한 10진수(BCD) : 10진수를 한 자리 숫자당 4비트를 사용해 2진법으로 각각 표현하는 방식.
    - 비트를 많이 사용하는 방식으로 오래된 컴퓨터 외에 주류로 남아있지는 않다.
profile
언젠간 되겠지!

0개의 댓글

관련 채용 정보