본문 바로가기
IT 이론/컴퓨터구조

BCD코드와 3초과(Excess-3) 코드

by 아이들링 id 2015. 10. 20.
반응형

BCD 코드는 Binary-coded decimal code라는 뜻이다. 뜻을 보면 알겠지만 BCD는 그냥 BCD이지 BCD 코드라는 말은 쓰지 않는다. 여튼


BCD는 말 그대로 2진수로 표현한 10진수라는 말이다. 11을 2진수로 표기 하려면 1011이라고 표현하는게 일반적인 2진수이지만, 11을 BCD로 표현하면 0001 0001 이다. 이렇게 각 자리의 10진수를 각각 4bit의 2진수로 표현하는게 BCD인 것이다. 8, 4, 2, 1로 이루어진 4bit의 2진수열을 사용하므로 8421코드라도로 불린다.


28192을 BCD로 표현하면?

0010 1000 0001 1001 0010 

이 될것이다. 


이렇게 10진수를 표현 하는데는 최고다. 아주 옛날 컴퓨터에서 10진수를 편하게 입출력 하기 위해 쓰였다. 이와 비슷하지만 좀 더 발전된 개념으로 


Excess-3 코드라는게 있다. 이는 BCD를 보수화 한 것이다.


일단 정의 자체는 BCD코드의 각 자리에 3(0011)을 더한 값이다. 즉 앞서 구한 28192를 Excess-3으로 표현하면


0101 1011 0100 1100 0101

이 된다.


괜히 0011을 더하는 이런 코드를 왜 쓰는 것일까? 신기하게도 이 코드는 bit를 반전시킬 경우 9의 보수값이 나오는 성질이 있다. 즉 1을 반전시키면 9가 나오고 2를 반전시키면 8이 나오고 4를 반전시키면 6이 나온다. 이런 성질 덕분에 컴퓨터 구조적으로 연산하기가 더 쉬워지는 것이다.

반응형

댓글3