논리회로 - 진수표현과 덧셈, 뺄셈, 보수

2023. 6. 21. 16:09·CS 이론/학과 수업
728x90

먼저, 아래의 식을 보면서 10진수를 R진수로 바꾸는 과정을 보겠다.

620을 예로 들어보겠다. R을 5라고 한다면, 아래와 같고, 위의 수식에 대입해보면 N=620, R=5, a3,a2,a1 = 4, a0=0이다.

이렇게 된 수식에서 5를 나누면 나머지는 0이다 그럼 a0자리의 계수가 된다. 몫은 124이고 이 몫을 다시 5로 나누면 24가 되고 나머지는 4이다. 따라서 나머지 4가 a1이다. 또 24를 5로 나누면 나머지가 4이고 a2의 값이된다. 그리고 나머지인 4가 a3의 몫이 된다.

이 과정을 미지수로 표현한 것이 위의 수식들이고 R로 계속해서 나누는 과정을 반복하는 것이다.

그렇다면 소수는 어떨까?

 

소수 부분은 나누는것 대신에 반대로 곱셈을 하는 것이다. R^-1, R^-2, R^-3...임으로 계수를 얻으려면 R을 계속해서 곱해주는 것이다.

0.24를 예로 들어보자 똑같이 R=5로 한다.

0.24에 5를 곱하면 1.2가 되고 앞의 1이 R^-1의 계수가 된다. 그리고 1을 뺀 0.2가 되고 여기에 다시 R인 5를 곱하면 1.0으로 되고 R^-2의 계수가 1이 된다. 따라서 620.24라고 하면 4440.11이다.

이런식으로 진수 변환을 하고, 다음은 2진수 덧셈과 뺄셈 연산을 보겠다.

2진수 덧셈은 간단하다. 고려해야 할 것은 1+1의 경우 상위비트로 이동하는 carry를 고려해야한다는 것 외에는 덧셈에서 어려움이 없다.

뺄셈의 경우는 조금 헷갈릴 수 있다. 0-1을 빼는 경우 상위 비트에서 값을 빌려와야하기 때문에 borrow를 수행해야한다는 어려움이 있다.

하지만 10진수 사칙연산을 해온 사람들에게는 이해하는 것에 큰 어려움은 없을 것 같다.

예제를 보면서 이해하면 좋겠다.

덧셈의 예제를 보면 1+1의 경우 carry를 다음 비트로 올려주는 걸 볼 수 있다.

뺄셈의 경우는 0-1의 경우 상위 비트에서 값을 빌려오는데 0인 경우는 그 다음 자리에서 빌려오는 식으로 10진수 뺄셈과 같은 방식으로 움직인다.

 

그 다음은 보수의 개념에 대해서 알아본다.

보수는 아날로그와 달리 제한적인 용량을 가지는 디지털로 바꾸는 과정에서 음의 부호를 표현하기 위한 방법이다.

2의 보수의 경우 10000 = 16 0001 = 1일때 16에서 1을 빼는 것은 borrow하는 과정이 어렵다. 그래서 이를 쉽게 하고자 1111=15에서 1을 빼고 다시 1을 더해주는 식으로 사용하는것이 편하다.

1111-0001 = 1110 + 1 = 1111

12의 경우 1100인데 여기서 0010을 뺀다고 했을 때는 12-2=10이다. 이를 진수로 볼 때는 2를 보수를 취해서 1110이 되고, 이를 1100과 더하면, (1)1010로 되어서 넘어간 비트는 무시함으로 10이라는 값을 얻을 수 있다.

728x90

'CS 이론 > 학과 수업' 카테고리의 다른 글

매크로와 선행처리기  (0) 2023.05.31
파일의 분할과 다중 파일 컴파일  (1) 2023.05.31
자료구조 undo 구현하기  (0) 2023.04.23
'CS 이론/학과 수업' 카테고리의 다른 글
  • 매크로와 선행처리기
  • 파일의 분할과 다중 파일 컴파일
  • 자료구조 undo 구현하기
Bello's
Bello's
개발하는 벨로
  • Bello's
    벨로의 개발일지
    Bello's
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • 노예 일지 (7)
        • 스타트업 노예일지 (3)
      • CS 이론 (81)
        • 학과 수업 (4)
        • 알고리즘 (64)
        • 시스템 프로그래밍 (3)
        • 데이터 통신 (1)
        • 운영체제 (2)
        • 데이터베이스 (1)
      • project (3)
      • 나는 감자다. (4)
      • Spring (27)
      • 모각코 (45)
        • 절개와지조(모각코) (7)
        • 어쩌다보니 박준태가 조장이조 (11)
        • 어쩌다보니 박준태가 또 조장이조 (12)
      • LikeLion🦁 (20)
      • 캘리포니아 감자 (4)
      • OpenSource Contribute (1)
      • 우아한테크벨로 (8)
        • 프리코스 회고록 (6)
        • Level 1 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    어렵다
    프리코스
    모각코
    그래프 순회
    BFS
    감자
    우테코
    DFS
    뛰슈
    타임리프
    절개와지조
    나는 감자
    Spring
    자바
    8기
    회고록
    누적합
    백준
    오블완
    JPA
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Bello's
논리회로 - 진수표현과 덧셈, 뺄셈, 보수
상단으로

티스토리툴바