이진화 십진법
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
이진화 십진법(BCD)은 십진수의 각 자릿수를 4비트 이진수로 표현하는 방식이다. 0부터 9까지의 십진수를 BCD로 표현하며, 전자 회로와 마이크로프로세서에서 십진수 출력을 위해 사용된다. BCD는 한 바이트에 한 자리 또는 두 자리를 저장하는 방식으로 나뉘며, 8421 인코딩이 가장 일반적이다. BCD에는 언팩 BCD, 팩 BCD, 존 십진법 등 여러 종류가 있다. IBM은 6비트 문자 부호화 방법으로 BCD를 사용했으며, 1972년 미국 대법원은 BCD를 이진법으로 변환하는 방법에 대한 특허를 무효화했다. BCD는 십진수 자릿수 경계에서의 반올림이 간단하고 문자 형식으로의 변환이 용이하다는 장점이 있지만, 이진 연산보다 느리고 저장 공간을 더 많이 필요로 한다는 단점이 있다.
더 읽어볼만한 페이지
- 컴퓨터 산술 - IEEE 754
IEEE 754는 부동소수점 숫자를 표현하고 처리하기 위한 국제 표준으로, 다양한 형식과 연산, 반올림 규칙, 예외 처리 등을 정의한다. - 컴퓨터 산술 - 1의 보수
1의 보수는 이진수에서 양수는 일반적인 이진수로, 음수는 양수의 각 비트를 반전시켜 표현하며, 덧셈 시 자리올림수가 발생하면 결과값에 더해야 하고, 0을 중복 표현하는 단점으로 현대에는 2의 보수가 주로 사용된다. - 기수법 - 이진법
이진법은 0과 1 두 개의 숫자를 사용하는 밑이 2인 위치 기수법으로, 컴퓨터 과학의 기초가 되었으며 현대 컴퓨터에서 데이터를 저장하고 처리하는 데 사용된다. - 기수법 - 구진법
구진법은 9를 밑으로 하는 위치 기수법으로 0부터 8까지의 숫자를 사용하여 수를 나타내며, 3의 배수 표현이 간결하고 3의 역수는 유한소수로 표현되는 특징이 있다. - 미완성 문단이 포함된 문서 - 나고야시
아이치현에 위치한 나고야시는 아쓰타 신궁을 중심으로 발전하여 오다 노부나가, 도요토미 히데요시, 도쿠가와 이에야스 등의 거점이었으며, 도요타 자동차 중심의 자동차 산업과 MICE 산업 발달, 엑스포 2005 개최, 나고야 의정서 채택 등으로 국제적인 도시로 성장한 16개 구로 구성된 약 230만 명의 인구를 가진 복합적인 도시이다. - 미완성 문단이 포함된 문서 - 진공관
진공관은 진공 상태 용기 내부에 전극을 갖춘 전자 장치로, 다이오드와 트라이오드 발명 후 20세기 중반까지 널리 쓰였으나 트랜지스터 등장으로 사용이 줄었지만, 고주파/고출력 분야나 오디오 앰프 등 특정 분야에서 다양한 종류로 여전히 사용되고 있다.
이진화 십진법 | |
---|---|
BCD 개요 | |
명칭 | 이진화 십진법 (二進化十進表現) |
영어 명칭 | Binary-coded decimal (BCD) |
약어 | BCD |
유형 | 수 체계, 부호화 방식 |
BCD 특징 | |
표현 범위 | 0부터 9까지의 십진수 각 자릿수를 이진수로 표현 |
비트 수 | 일반적으로 4비트 사용 (8421 BCD) |
장점 | 십진수-이진수 변환 용이 정확한 십진 연산 가능 |
단점 | 메모리 공간 효율성 낮음 (일부 비트 낭비) 이진 연산에 비해 복잡한 회로 필요 |
BCD 종류 | |
8421 BCD | 가장 일반적인 BCD 코드 |
7421 BCD | 가중치 7, 4, 2, 1을 사용하는 BCD 코드 |
5421 BCD | 가중치 5, 4, 2, 1을 사용하는 BCD 코드 |
2421 BCD | 가중치 2, 4, 2, 1을 사용하는 BCD 코드 (자기 보수 코드) |
초과-3 코드 (Excess-3 code) | 8421 BCD에 3을 더한 코드 (자기 보수 코드) |
BCD 활용 | |
용도 | 계산기, 디지털 시계 등 십진수 연산 장치 금융, 회계 시스템 데이터베이스 |
예시 | 십진수 123은 8421 BCD로 0001 0010 0011로 표현됨 |
관련 개념 | |
아스키 코드 (ASCII) | 문자를 표현하는 표준 코드 체계 |
유니코드 (Unicode) | 전 세계 모든 문자를 표현하기 위한 표준 코드 체계 |
2. 규칙
십진수의 각 자릿수는 4비트의 이진수로 표현된다. 0부터 9까지의 십진수 숫자는 이진화 십진법(BCD)으로 다음과 같이 표현된다.
십진법 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
BCD | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 |
예를 들어, 십진수 729는 BCD로 0111 0010 1001로 표현된다.
"8421" 인코딩이라고도 불리는 이 방식은 "단순 이진화 십진법"(SBCD) 또는 "BCD 8421"이라고도 하며, 가장 일반적인 인코딩 방식이다.
십진수 숫자 | BCD | |||
---|---|---|---|---|
8 | 4 | 2 | 1 | |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
IBM은 전통적으로 '이진화 십진법'이라는 용어를 6비트 문자 부호화 방법을 나타내는 데 사용했다. 이 방법은 이진화 십진법의 하위 4비트와 함께 상위 2비트를 사용하여 숫자, 로마자 대문자와 특수 문자를 표현할 수 있게 한 것으로, 일반 숫자는 상위 2비트가 둘 다 0으로 채워졌다. 이 부호화는 IBM 1620, IBM 1400 계열 컴퓨터를 비롯한 초기 IBM 시스템에서 사용되다가 8비트 EBCDIC으로 대체되었다.
이진화 십진법(BCD)에는 여러 종류가 있으며, 대표적으로 다음과 같은 것들이 있다.
다른 방식으로는 비트 가중치를 기준으로 명명된 "4221" 및 "7421" 인코딩과 "Excess-3"가 있다.
3. 역사
1972년에 미국 대법원은 이진화 십진법으로 부호화된 숫자를 이진법으로 변환하는 방법에 대한 특허를 인정했던 원심을 무효화하였다. ([http://caselaw.lp.findlaw.com/scripts/printer_friendly.pl?page=us/409/63.html Gottschalk v. Benson]을 참고하라.) 이 결정은 소프트웨어 및 알고리즘이 특허로 인정받을 수 있는지에 대한 중요한 사례로 남아 있다.
BCD는 하나의 십진수 숫자가 4비트 패턴으로 표현될 수 있다는 사실을 활용한다. 숫자를 인코딩하는 명백한 방법은 "자연 BCD"(NBCD)로, 각 십진수 숫자가 해당 4비트 이진 값으로 표시된다. 이것은 "8421" 인코딩이라고도 한다.십진수 숫자 BCD 8 4 2 1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1
이 방식은 "단순 이진화 십진법"(SBCD) 또는 "BCD 8421"이라고도 하며 가장 일반적인 인코딩 방식이다. 다른 방식으로는 비트 가중치를 기준으로 명명된 "4221" 및 "7421" 인코딩과 "Excess-3"가 있다.
2008년의 IEEE 754 개정에는 십진 부동 소수점이 추가되었으며, 보다 효율적인 Densely packed decimal (DPD) 방식이 채택되었다.
4. BCD의 종류
십진법 0 1 2 3 4 5 6 7 8 9 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
일반적으로 이진법의 4자리수(니블)는 0부터 15까지의 정수를 나타낼 수 있다. 이진화 십진법에서는 이 중 처음 10개를 유효한 수치로 취급한다. 이진화 십진법에서 십진법의 각 자리는 위의 표에 따라 네 개의 비트로 변환되며, 역변환도 동일하다. 많은 컴퓨터가 8비트를 묶어서 1바이트로 처리하기 때문에, 이러한 환경에서 이진화 십진법을 저장하는 방법은 두 가지가 있을 수 있다.
이 외에도, 4비트 BCD 코드와 의사 사중항을 이용한 다양한 종류의 BCD가 있다.
3GPP는 BCD를 확장한 TBCD를 개발했다. 여기서 남은 (사용되지 않은) 비트 조합은 전화 키패드에서 볼 수 있는 숫자와 유사한 특정 전화 문자를 추가하는 데 사용된다.
십진법 숫자 | TBCD 8 4 2 1 |
---|---|
* | 1 0 1 0 |
# | 1 0 1 1 |
a | 1 1 0 0 |
b | 1 1 0 1 |
c | 1 1 1 0 |
숫자 수가 홀수일 때 채우는 용도로 사용 | 1 1 1 1 |
4. 1. 언팩 BCD (Unpacked BCD)
마이크로프로세서와 같이 숫자의 십진 출력을 요구하는 전자 회로에서 이진화 십진법(BCD)이 많이 사용된다. 언팩 BCD는 한 바이트에 십진수 한 자리를 저장하는 방식이다. 이때 남는 4비트는 0000으로 채우거나, EBCDIC의 경우 1111, ASCII의 경우 0011과 같은 특정 비트열로 채운다.[1] 이는 IBM 메인프레임 시스템에서 지원하는 '''존드 십진법''' 숫자 표현과 관련이 있다. 존드 십진법에서 각 십진수는 1바이트에 저장되며, 하위 4비트는 BCD 형태로 숫자를 나타내고, "존" 비트라고 하는 상위 4비트는 특정 값으로 설정된다. EBCDIC 시스템에서는 존 값을 1111 (16진수 F)를 사용하여 F0에서 F9 (16진수) 범위의 바이트를 생성하고, 이는 "0"에서 "9"까지의 EBCDIC 코드와 일치한다. ASCII 시스템에서는 존 값으로 0011 (16진수 3)을 사용하여 30에서 39 (16진수) 범위의 문자 코드를 생성한다.4. 2. 팩 BCD (Packed BCD)
'''팩 이진화 십진법'''(Packed BCD영어) 또는 줄여서 '''팩 십진법'''(Packed decimal영어)은 널리 쓰이는 이진화 십진법의 변형이다. 한 바이트에 두 자리 십진수를 묶어서(pack) 저장하고, 마지막 4비트를 부호로 나타낸다. 부호 자리는 9보다 큰 숫자를 사용하여 다른 자리들과 구별한다. 부호 자리의 대응은 다음과 같다.부호 자리 | 이진법 | 대응되는 부호 |
---|---|---|
A | 1010 | + |
B | 1011 | - |
C | 1100 | + (선호됨) |
D | 1101 | - (선호됨) |
E | 1110 | + |
F | 1111 | + (부호 없음) |
예를 들어 +729는 0111 0010 1001 1100
(16진법으로 72 9C
)로 표현되고, -729는 72 9D
로 표현된다. 이 표현은 일반 이진화 십진법처럼 ASCII나 EBCDIC과의 변환이 간단하면서도, 공간 집적도가 떨어진다는 이진화 십진법의 단점을 보완한다.
팩 BCD에서 각 니블은 십진수 한 자릿수를 나타낸다. 팩 BCD는 1960년대부터 사용되어, 이후 모든 IBM 메인프레임 하드웨어에 구현되었다. 오른쪽 바이트의 하위 니블은 보통 부호 플래그로 사용되지만, 일부 부호 없는 표현에는 부호 플래그가 없다.
표준 부호 값은 양수(+)의 경우 1100(16진수 C)이고 음수(−)의 경우 1101(D)이다. 이 규칙은 EBCDIC 문자의 영역 필드와 부호 오버펀치 표현에서 유래되었다.
4. 3. 존 십진법 (Zoned Decimal)
IBM을 비롯한 몇몇 메인프레임 시스템은 '''존 십진법'''(Zoned decimal영어) 표현을 지원한다. 이 방법은 한 바이트에 한 자리를 하위 4비트로 저장하고, ‘존’(zone영어)이라 불리는 상위 4비트를 특정한 비트열로 채워서 문자에 대응하도록 한 것이다. EBCDIC의 경우 이 존 비트는 `1111`에 해당하며, ASCII의 경우 `0011`에 해당한다. 어느 경우든 존 비트와 하위 4비트를 합하면 해당 숫자를 나타내는 문자에 대응하도록 되어 있다.존 십진법에서 마지막, 즉 최하위 바이트의 존 비트는 부호를 나타내며, 이 부호 자리는 앞의 묶음 부호화 십진법과 동일하다. 따라서 존 십진법으로 +729는 `11110111 11110010 11001001` 또는 16진법으로 `F7 F2 C9`가 되며, -729는 `F7 F2 D9`가 된다.
4. 4. 기타 BCD 인코딩
첸-호 부호화와 집적된 묶음 십진법(DPD)은 십진법 세 자리를 10비트로 나타내는 부호화 방법이다. 특히 집적된 묶음 십진법(DPD)은 십진법 세 자리보다 더 적은 자리들도 10비트의 부분으로만 나타낼 수 있기 때문에 임의 자릿수의 십진법을 효율적으로 표현할 수 있다.[1]3GPP는 BCD를 확장한 TBCD를 개발했다. 여기서 남은 (사용되지 않은) 비트 조합은 전화 키패드에서 볼 수 있는 숫자와 유사한 특정 전화 문자를 추가하는 데 사용된다.
십진법 숫자 | TBCD 8 4 2 1 |
---|---|
* | 1 0 1 0 |
# | 1 0 1 1 |
a | 1 1 0 0 |
b | 1 1 0 1 |
c | 1 1 1 0 |
숫자 수가 홀수일 때 채우는 용도로 사용 | 1 1 1 1 |
5. BCD 연산
BCD 덧셈은 이진수처럼 더한 후, 결과가 9보다 크면 6 (0110)을 더하여 BCD 형태로 만든다. 6을 더하는 이유는 4비트 BCD 값은 16개(24 = 16)이지만 유효한 값은 10개(0000부터 1001까지)이기 때문이다. 예를 들어, 9 (1001) + 8 (1000) = 17 (10001)인데, 여기서 10001은 4비트 안에 들어갈 수 없고 9보다 크므로 6 (0110)을 더한다. 그러면 10001 + 0110 = 00010111, 즉 0001 0111이 되어 BCD로 "17"이 된다.
여러 자릿수를 더할 때에는 오른쪽에서 왼쪽으로 각 자릿수 쌍을 더하고, 결과가 9보다 크면 6을 더한 후 다음 자릿수로 올림을 전달한다. 일부 CPU는 BCD 연산을 돕기 위해 하프 캐리 플래그를 제공하며, 인텔 8080, 자일로그 Z80, x86 계열 CPU는 십진 보정 누산기(DAA) 명령어를 갖추고 있다.
BCD 뺄셈은 피제수(빼는 수)에 피감수(빼지는 수)의 10의 보수를 더하는 방식으로 수행한다. BCD에서 숫자의 부호는 0000(양수) 또는 1001(음수)로 나타낸다. 예를 들어, 357 - 432를 계산할 때, 432의 10의 보수(568)를 구하고 음수 부호(1001)를 붙여 -432를 나타낸다. 그 후 357 (0000 0011 0101 0111)과 -432 (1001 0101 0110 1000)를 더한다. 결과에서 9보다 큰 BCD 숫자가 있으면 6을 더하여 올림을 발생시키고 유효한 BCD 값으로 만든다.
5. 1. 변환
이진법으로 표현된 숫자를 이진화 십진법(BCD)으로 변환하기 위해서는 원래 숫자를 반복적으로 10으로 나누고 나머지를 취하는 연산이 필요하다. 이 연산은 비트 시프트 연산과 조건부 덧셈으로 나눗셈을 구현하는 '''시프트-더하기-3 알고리즘'''으로 구현할 수 있다.BCD는 하나의 십진수 숫자가 4비트 패턴으로 표현될 수 있다는 사실을 활용한다. 숫자를 인코딩하는 가장 명확한 방법은 "자연 BCD"(NBCD)인데, 아래 표와 같이 각 십진수 숫자가 해당 4비트 이진 값으로 표시된다. 이것은 "8421" 인코딩이라고도 한다.
십진수 숫자 | BCD | |||
---|---|---|---|---|
8 | 4 | 2 | 1 | |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
이 방식은 "단순 이진화 십진법"(SBCD) 또는 "BCD 8421"이라고도 하며 가장 일반적인 인코딩 방식이다.[1] 다른 방식으로는 비트 가중치를 기준으로 명명된 "4221" 및 "7421" 인코딩과 "Excess-3"가 있다.[2] 예를 들어, BCD 숫자 6, 0110'b영어 (8421 표기법)은 4221에서는 1100'b영어 (두 가지 인코딩 가능), 7421에서는 0110'b영어, Excess-3에서는 1001'b영어 ()이다.
6. BCD의 장단점
BCD는 10의 거듭제곱 배율 조정 및 반올림이 쉽고, 십진수 정렬과 문자 형식 및 표시 형식으로의 변환이 간단하며, 정확한 값 표현이 가능하다는 장점이 있다. 반면에 BCD는 이진 표현에 비해 연산 속도가 느리고, 일부 연산은 구현이 복잡하며, 저장 공간 효율성이 떨어진다는 단점이 있다.
BCD의 장단점에 대한 더 자세한 내용은 #장점 및 #단점 하위 섹션을 참조하라.
6. 1. 장점
이진화 십진법(BCD)은 다음과 같은 장점을 갖는다.- 10의 거듭제곱 배율 조정: 10의 거듭제곱으로 수를 곱하거나 나누는 것이 간단하다.
- 반올림: 십진수 자릿수 경계에서 반올림하는 것이 더 쉽다. 십진법에서의 덧셈과 뺄셈은 반올림을 필요로 하지 않는다.
- 정렬: 예를 들어 1.3 + 27.08과 같이 두 십진수를 정렬하는 것은 간단하며 정확하게 자리를 이동하면 된다.
- 변환: 문자 형식이나 표시 형식(예: XML과 같은 텍스트 기반 형식, 세븐 세그먼트 디스플레이에 대한 신호)으로의 변환은 단순한 자릿수별 매핑이며, 선형(O(''n'')) 시간 내에 수행할 수 있다. 순수한 이진수로부터의 변환은 자릿수에 걸쳐 비교적 복잡한 논리를 포함하며, 큰 수의 경우 선형 시간 변환 알고리즘이 알려져 있지 않다.
- 정확성: 0.2와 같은 많은 비정수 값은 이진수에서 무한한 자리 값 표현(0.001100110011...)을 갖지만, 이진화 십진법에서는 유한한 자리 값을 갖는다(0.0010). 따라서 십진수 분수의 이진화 십진법 표현을 기반으로 하는 시스템은 이러한 값의 표현 및 계산 오류를 방지할 수 있다. 이는 금융 계산에 유용하다.
다음은 이진법 연산에서 발생할 수 있는 오류의 예시다. Java 프로그램을 실행하면, double형을 사용하여 0.1을 10,000번 더한 결과는 1,000.0이 아니라 1,000.0000000001588이 된다.
```java
public static void main(String[] args) {
double sum = 0.0;
for (int i = 0; i < 10000; i++)
sum += 0.1;
System.out.println("sum = " + sum);
}
```
이러한 문제를 피하기 위해, 처리 대상 값이 십진법인 경우 컴퓨터 내의 처리도 이진화 십진수로 구현되는 경우가 많다. 통화를 취급하는 사무 애플리케이션 등이 이에 해당한다.
일반적으로 이진법의 4자리수(니블)는 0부터 15까지의 정수를 나타낼 수 있다. 이진화 십진법에서는 이 중 처음 10개만을 유효한 수치로 취급한다.
십진법 | BCD 표현 |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
예를 들어, 127이라는 정수 값은 0001, 0010, 0111의 3개의 BCD로 표시된다.
이진화 십진수에는 존 형식과 팩 형식(packed form)이 있으며, 용도에 따라 사용된다. 부호부를 가지지 않는 팩 형식에서는 파일 등에 있는 이진화 십진수 값을 16진법으로 표시하면 십진법과 동일하게 표시된다. 예를 들어 16진법으로 "1234"로 표시되는 데이터는 정수 값 1234를 의미한다.
간단한 이용법으로는 전자 회로상에서 0 - 9를 표시 가능한 BCD 대응 숫자 표시 소자 하나에 BCD의 4자리를 4개의 입력 신호로 직접 입력하는 방법이 있다. 이진법으로 처리하는 경우와 달리, 표시 소자에 입력하기 전의 변환이 필요 없고 데이터 버스상의 신호를 그대로 이용할 수 있다는 장점이 있다.
컴퓨터에서는 원래 이진법으로 연산하는 것이 컴퓨터 자원(레지스터, 메모리, 계산량)을 효율적으로 사용하는 방법이다. 그럼에도 불구하고 이진화 십진수가 유효한 경우가 있는 것은, 이진법과 십진법 간의 변환을 피하는 것에 "사회적인 가치"가 있기 때문이다. 즉, 이진화 십진수는 순수한 컴퓨터의 문제가 아니라, 십진법 사회라는 현실적인 요구에 의한 것이다.
6. 2. 단점
BCD의 실제 구현은, 특히 내장형 시스템에서 기본 BCD 연산에 대한 프로세서 지원이 제한적이어서, 이진 표현에 대한 연산보다 일반적으로 느리다. 일부 연산은 구현하기가 더 복잡하다. 가산기는 래핑을 발생시키고 조기에 캐리를 생성하기 위해 추가적인 논리가 필요하다. 또한, 순수한 이진수에 비해 BCD 덧셈에 15~20% 더 많은 회로가 필요하다. 곱셈은 시프트-마스크-더하기(각 자릿수 또는 자릿수 그룹당 이진 시프트 및 더하기 또는 이에 상응하는 것을 필요로 하는 이진 곱셈)보다 약간 더 복잡한 알고리즘을 사용해야 한다. 표준 BCD는 자릿수당 4비트가 필요하며, 이진 인코딩보다 약 20% 더 많은 공간이 필요하다(4비트 대 log210비트의 비율은 1.204이다). 3자릿수가 10비트에 인코딩되도록 패킹되면 저장 오버헤드는 크게 줄어들지만, 기존 하드웨어에서 일반적인 8비트 바이트 경계와 정렬되지 않는 인코딩으로 인해 이러한 시스템에서 구현 속도가 느려진다.7. 컴퓨터에서의 BCD
IBM은 숫자, 로마자 대문자, 특수 문자를 표현하기 위해 6비트 영숫자 코드인 이진화 십진법 교환 코드(BCDIC, 때로는 BCD라고도 함)를 사용했다.[1] BCDIC의 일부 변형은 IBM 1620, IBM 1400 시리즈 및 십진법 아키텍처가 아닌 IBM 700/7000 시리즈를 포함한 대부분의 초기 IBM 컴퓨터에서 사용되었다.
많은 프로세서가 BCD로 인코딩된 정수 산술 연산을 위한 하드웨어 지원을 제공한다. 예를 들어, 6502,[2] 모토로라 68000 시리즈, 및 x86 시리즈가 있다.[3] 인텔 x86 아키텍처는 고유한 18자리 (10바이트) BCD 형식을 지원하며, 이는 부동 소수점 레지스터에 로드 및 저장될 수 있고, 여기서 계산을 수행할 수 있다.
BIOS는 날짜와 시간을 BCD로 저장하는 경우가 많은데, 이는 초기 IBM PC AT 마더보드에서 사용된 MC6818 실시간 시계 칩이 BCD로 인코딩된 시간을 제공했기 때문이다.
초기 모델의 PlayStation 3는 날짜와 시간을 BCD로 저장했다. 이로 인해 2010년 3월 1일에 전 세계적으로 콘솔 작동이 중단되었다. BCD로 저장된 연도의 마지막 두 자리가 16으로 잘못 해석되어 장치의 날짜에 오류가 발생하여 대부분의 기능이 작동하지 않게 되었다. 이는 2010년 문제로 불렸다.
참조
[1]
웹사이트
6502 Instruction Set
http://www.masswerk.[...]
[2]
웹사이트
NMOS 6502 Opcodes
http://www.6502.org/[...]
[3]
서적
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture
http://www.intel.com[...]
Intel
2013-03
[4]
웹사이트
Non-Access-Stratum (NAS) protocol for 5G System (5GS); Stage 3. (3GPP TS 24.501 version 16.10.0 Release 16) TS 24.501 release 16.10.0
https://www.etsi.org[...]
ETSI and 3GPP
2022-02-26
[5]
웹사이트
Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); LTE; 5G; Numbering, addressing and identification (3GPP TS 23.003 version 16.8.0 Release 16)
https://www.etsi.org[...]
ETSI and 3GPP
2022-02-26
[6]
서적
Computer Architecture and Organization
McGRAW-HILL INTERNATIONAL BOOK COMPANY
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com