이진 코드화된 10진수
Binary-coded decimal
컴퓨팅 및 전자 시스템에서 BCD(binary-coded decimal)는 10진수의 이진 부호화 클래스이며, 각 자릿수는 고정 비트 수(보통 4비트 또는 8비트)로 표현됩니다.경우에 따라서는 부호나 기타 표시(예: 오류 또는 오버플로)에 특수한 비트패턴이 사용됩니다.
바이트 지향 시스템(즉, 대부분의 최신 컴퓨터)에서 언팩 BCD라는[1] 용어는 일반적으로 각 자리(종종 부호를 포함)에 대해 완전한 바이트를 의미하지만, 팩 BCD는 일반적으로 4비트가 0에서 9까지의 범위를 나타내기에 충분하다는 사실을 이용하여 단일 바이트 내에서 두 자리를 인코딩합니다.단, 정확한 4비트 부호화는 기술적인 이유(예: Excess-3)에 따라 다를 수 있습니다.
BCD 숫자를 나타내는 10개의 상태를 테트라이드라고[2][3] 부르기도 합니다(일반적으로 이를 유지하는 데 필요한 니블의 경우 테트라이드라고도 합니다). 사용하지 않는 상태는 의사 테트라드 [de],[4][5][6][7][8]십진수 [9][10][nb 1]또는 의사 십진수로 명명됩니다[3].
BCD의 주요 장점은 바이너리 포지셔닝 시스템에 비해 10진수의 정확한 표현과 반올림 및 기존의 사람이 읽을 수 있는 표현으로의 변환이 용이하다는 것입니다.그 주된 결점은 기본적인 산술 구현에 필요한 회로의 복잡성이 약간 증가하는 것뿐만 아니라 밀도가 약간 떨어지는 스토리지입니다.
BCD는 많은 초기 10진수 컴퓨터에서 사용되었으며 IBM System/360 시리즈와 그 후속 제품, Digital Equipment Corporation의 VAX, Burrows B1700 및 Motorola 68000 시리즈 프로세서와 같은 명령 집합에 구현됩니다.BCD 자체는 과거처럼 널리 사용되지 않으며 새로운 명령 집합(예: 롱 모드의 ARM, x86)에서는 사용할 수 없거나 제한됩니다.단, 10진 고정 소수점 및 10진 부동 소수점 형식은 여전히 중요하며 바이너리 부동 소수점 형식에 내재된 미묘한 변환 오류와 부분 반올림 오류를 허용할 [11]수 없는 재무, 상업 및 산업 컴퓨팅에서 계속 사용됩니다.
배경
BCD는 임의의 10진수를 4비트 패턴으로 나타낼 수 있다는 점을 이용합니다.디지트를 부호화하는 가장 명확한 방법은 Natural BCD(NBCD)입니다.여기서 각 10진수는 대응하는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 |
이 방식은 Simple Binary-Coded Decimal(SBCD) 또는 BCD 8421이라고도 불리며 가장 일반적인 [12]인코딩입니다.그 외 비트에 사용되는 가중치를 딴 이른바 "4221" 및 "7421" 인코딩과 "Excess-3"[13] 등이 있습니다.예를 들어 BCD 숫자 6은0110'b
8421 표기법에서는1100'b
4221에서는 (2개의 인코딩이 가능),0110'b
7421년, 초과-3일 때1001'b
( + ({6 + 3= )
조금 | 체중 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 댓글 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 바이너리 |
3 | 4 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | |
2 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | |
이름. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 십진수 | |
8 4 2 1 (XS-0) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | [14][15][16][17][nb 2] | |
7 4 2 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [18][19][20] | |||||||
Aiken (2 4 2 1) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [14][15][16][17][nb 3] | |||||||
초과-3(XS-3) | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | [14][15][16][17][nb 2] | |
초과-6(XS-6) | -6 | -5 | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [18][nb 2] | |
점프앳-2(2 4 2 1) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [16][17] | |||||||
점프앳-8 (2 4 2 1) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [21][22][16][17][nb 4] | |||||||
4 2 2 1 (I) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [16][17] | |||||||
4 2 2 1 (II) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [21][22] | |||||||
5 4 2 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [18][14][16][17] | |||||||
5 2 2 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [14][16][17] | |||||||
5 1 2 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [19] | |||||||
5 3 1 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [16][17] | |||||||
흰색 (5 2 1 1) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [23][18][14][16][17] | |||||||
5 2 1 1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | [24] | |||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
자기 테이프 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | [15] | |||||||
폴. | 1 | 3 | 2 | 6 | 7 | 5 | 4 | 0 | 8 | 9 | [25] | |||||||
회색 | 0 | 1 | 3 | 2 | 7 | 6 | 4 | 5 | 15 | 14 | 12 | 13 | 8 | 9 | 11 | 10 | [26][14][15][16][17][nb 2] | |
겔릭슨 | 0 | 1 | 3 | 2 | 6 | 7 | 5 | 4 | 9 | 8 | [27][14][15][16][17] | |||||||
레들리 | 0 | 1 | 3 | 2 | 7 | 6 | 4 | 5 | 8 | 9 | [28] | |||||||
4 3 1 1 | 0 | 1 | 2 | 3 | 5 | 4 | 6 | 7 | 8 | 9 | [19] | |||||||
LARC | 0 | 1 | 2 | 4 | 3 | 5 | 6 | 7 | 9 | 8 | [29] | |||||||
클라 | 0 | 1 | 2 | 4 | 3 | 9 | 8 | 7 | 5 | 6 | [2][3] | |||||||
페터릭(RAE) | 1 | 3 | 2 | 0 | 4 | 8 | 6 | 7 | 9 | 5 | [30][31][nb 5] | |||||||
오브라이언 I(와트) | 0 | 1 | 3 | 2 | 4 | 9 | 8 | 6 | 7 | 5 | [32][14][16][17][nb 6] | |||||||
5소켓 | 0 | 1 | 3 | 2 | 4 | 5 | 6 | 8 | 7 | 9 | [28] | |||||||
톰킨스 1세 | 0 | 1 | 3 | 2 | 4 | 9 | 8 | 7 | 5 | 6 | [33][14][16][17] | |||||||
리펠 | 0 | 1 | 2 | 3 | 4 | 9 | 8 | 7 | 6 | 5 | [34][35][14] | |||||||
오브라이언 2세 | 0 | 2 | 1 | 4 | 3 | 9 | 7 | 8 | 5 | 6 | [32][14][16][17] | |||||||
톰킨스 2세 | 0 | 1 | 4 | 3 | 2 | 7 | 9 | 8 | 5 | 6 | [33][14][16][17] | |||||||
초과-3 그레이 | -3 | -2 | 0 | -1 | 4 | 3 | 1 | 2 | 12 | 11 | 9 | 10 | 5 | 6 | 8 | 7 | [16][17][20][nb 7][nb 2] | |
6 3 - 2 - 1 (I) | 3 | 2 | 1 | 0 | 5 | 4 | 8 | 9 | 7 | 6 | [29][36] | |||||||
6 3 - 2 - 1 (II) | 0 | 3 | 2 | 1 | 6 | 5 | 4 | 9 | 8 | 7 | [29][36] | |||||||
8 4 −2 −1 | 0 | 4 | 3 | 2 | 1 | 8 | 7 | 6 | 5 | 9 | [29] | |||||||
루카루 | 0 | 15 | 14 | 1 | 12 | 3 | 2 | 13 | 8 | 7 | 6 | 9 | 4 | 11 | 10 | 5 | [37] | |
카우츠 1세 | 0 | 2 | 5 | 1 | 3 | 7 | 9 | 8 | 6 | 4 | [18] | |||||||
카우츠 2세 | 9 | 4 | 1 | 3 | 2 | 8 | 6 | 7 | 0 | 5 | [18][14] | |||||||
서스킨드 1세 | 0 | 1 | 4 | 3 | 2 | 9 | 8 | 5 | 6 | 7 | [35] | |||||||
서스킨트 2세 | 0 | 1 | 9 | 8 | 4 | 3 | 2 | 5 | 6 | 7 | [35] | |||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
다음 표는 다양한 BCD 부호화 시스템의 0 ~9 의 10 진수를 나타내고 있습니다.머리글에는 "8 4 2 1
" 는 각 비트의 무게를 나타냅니다.다섯 번째 열("BCD 8 4 - 2 - 1")에서 두 개의 가중치가 음수입니다.번호의 ASCII 문자 코드와 EBCDIC 문자 코드도 표시됩니다.이것은 존 BCD의 예입니다.
숫자 | BCD 8 4 2 1 | Stibitz 코드 또는 Excess-3 | Aiken-Code 또는 BCD 2 4 2 1 | BCD 8 4 - 2 - 1 | IBM 702,IBM 705,IBM 7080, IBM 1401 8 4 2 1 | ASCII 0000 8421 | EBCDIC 0000 8421 |
---|---|---|---|---|---|---|---|
0 | 0000 | 0011 | 0000 | 0000 | 1010 | 0011 0000 | 1111 0000 |
1 | 0001 | 0100 | 0001 | 0111 | 0001 | 0011 0001 | 1111 0001 |
2 | 0010 | 0101 | 0010 | 0110 | 0010 | 0011 0010 | 1111 0010 |
3 | 0011 | 0110 | 0011 | 0101 | 0011 | 0011 0011 | 1111 0011 |
4 | 0100 | 0111 | 0100 | 0100 | 0100 | 0011 0100 | 1111 0100 |
5 | 0101 | 1000 | 1011 | 1011 | 0101 | 0011 0101 | 1111 0101 |
6 | 0110 | 1001 | 1100 | 1010 | 0110 | 0011 0110 | 1111 0110 |
7 | 0111 | 1010 | 1101 | 1001 | 0111 | 0011 0111 | 1111 0111 |
8 | 1000 | 1011 | 1110 | 1000 | 1000 | 0011 1000 | 1111 1000 |
9 | 1001 | 1100 | 1111 | 1111 | 1001 | 0011 1001 | 1111 1001 |
대부분의 컴퓨터는 8비트 바이트의 데이터를 처리하므로 다음 방법 중 하나를 사용하여 BCD 번호를 인코딩할 수 있습니다.
- 개봉:각 십진수는 1바이트로 인코딩되며, 4비트는 숫자를 나타내고 나머지 비트는 의미가 없습니다.
- Packed: 10진수 2자리는 1바이트로 인코딩되며, 1자리는 최하위 니블(비트 0 ~ 3)이고, 다른 숫자는 최상위 니블(비트 4 [nb 8]~7)입니다.
예를 들어 10진수 부호화91
unpacked BCD를 사용하면 다음 2바이트의 바이너리 패턴이 생성됩니다.
10 진수: 9 1 이진수: 0000 1001 0000 0001
패킹된 BCD에서는 동일한 수가 1바이트에 들어갑니다.
소수점: 9 1 이진수: 1001 0001
따라서 1개의 압축 해제 BCD 바이트의 수치 범위는 0 ~9인 반면, 1개의 압축 완료 BCD 바이트의 범위는 0 ~99입니다
1바이트의 범위보다 큰 숫자를 나타내려면 연속된 바이트의 수에 관계없이 사용할 수 있습니다.예를 들어, 10진수를 나타내는 방법12345
big-endian 형식을 사용하면 프로그램은 다음과 같이 인코딩됩니다.
10 진수: 0 1 2 3 4 5 이진수: 0000 0001 0010 0011 0100 0101
여기서 최상위 바이트의 최상위 니블은 0으로 인코딩되어 있으므로 숫자는 다음과 같이 저장됩니다.012345
(단, 포맷 루틴은 선행 0을 대체하거나 제거할 수 있습니다).포장된 BCD는 포장되지 않은 BCD보다 스토리지 사용량이 더 효율적입니다. 동일한 숫자(선행 0)를 언팩된 형식으로 인코딩하면 스토리지 사용량이 두 배로 증가합니다.
이동 및 마스킹 작업은 포장된 BCD 숫자를 포장하거나 개봉하는 데 사용됩니다.다른 비트 연산은 숫자를 동등한 비트 패턴으로 변환하거나 프로세스를 반전시키기 위해 사용됩니다.
포장 BCD
패킹 BCD(또는 단순히 패킹된[38] 10진수)[nb 8]에서는 각 바이트의 2개의 니블 각각이 10진수를 나타냅니다.Packed BCD는 적어도 1960년대부터 사용되었으며 그 이후로 모든 IBM 메인프레임 하드웨어에 구현됩니다.대부분의 구현은 빅 엔디안입니다.즉, 각 바이트의 상반부에 보다 유효한 디지트가 있고, 가장 왼쪽에 있는 바이트(메모리 주소가 가장 낮음)에는 패킹된 10진수 값의 최상위 디지트가 포함되어 있습니다.일반적으로 가장 오른쪽 바이트의 하위 니블이 기호 플래그로 사용됩니다. 단, 일부 부호 없는 표현에는 기호 플래그가 없습니다.예를 들어, 4바이트 값은 8개의 니블로 구성되며, 상위 7개의 니블에는 7자리 10진수 값의 자릿수가 저장되며, 최하위 니블에는 10진수 정수 값의 부호가 표시됩니다.
표준 부호 값은 양수(+)의 경우 1100(16진수 C), 음수(-)의 경우 1101(D)입니다.이 규칙은 EBCDIC 문자의 존필드와 서명된 오버펀치 표현에서 유래합니다.기타 허용되는 부호는 양의 경우 1010(A) 및 음의 경우 1110(E) 및 음의 경우 1011(B)입니다.IBM System/360 프로세서는 통과하지 못한 ASCII-8 표준에 대해 PSW에서 A 비트가 설정된 경우 1010 (A) 및 1011 (B) 기호를 사용합니다.대부분의 구현에서는 부호 니블이 1111(F)[39][40][41]인 부호 없는 BCD 값도 제공합니다.ILE RPG는 양의 경우 1111(F), [42]음의 경우 1101(D)을 사용합니다.이들은 부호 오버펀치가 없는 숫자에 대해 EBCDIC 존과 일치합니다.포장 BCD에서 번호 127은 0001 0010 0111 1100(127C)으로 표시되고 -127은 0001 0010 0111 1101(127D)로 표시됩니다.버로스 시스템은 음수에 1101(D)을 사용하고, 그 외의 값은 모두 양의 부호 값으로 간주됩니다(프로세서는 양의 부호를 1100(C)로 정규화합니다).
서명하다 숫자 | BCD 8 4 2 1 | 서명하다 | 메모들 |
---|---|---|---|
A | 1 0 1 0 | + | |
B | 1 0 1 1 | − | |
C | 1 1 0 0 | + | 선호된 |
D | 1 1 0 1 | − | 선호된 |
E | 1 1 1 0 | + | |
F | 1 1 1 1 | + | 서명 없음 |
단어의 폭이 아무리 넓어도 각 바이트에는 짝수 니블이 2개씩 있기 때문에 항상 짝수 니블이 있습니다.따라서 n바이트의 단어에는 (2n)~1자리까지의 10진수를 포함할 수 있습니다.이 숫자는 항상 홀수입니다.d자리의 10진수에는 다음 값이 필요합니다.1/2(d+1)바이트의 스토리지 공간.
예를 들어, 4바이트(32비트) 워드는 소수점 7자리 및 기호를 포함할 수 있으며 ±9,999,999 범위의 값을 나타낼 수 있습니다.따라서 번호 -1,234,567은 7자리 폭이며 다음과 같이 부호화됩니다.
0001 0010 0011 0100 0101 0110 0111 1101 1 2 3 4 5 6 7 −
문자열과 마찬가지로 패킹된 10진수의 첫 번째 바이트(가장 중요한 2자리)는 보통 머신의 엔디안과는 무관하게 메모리의 가장 낮은 주소에 저장됩니다.
반면 4바이트 이진수 2의 보완 정수는 -2,147,483,648에서 +2,147,483,647까지의 값을 나타낼 수 있습니다.
패킹된 BCD는 스토리지를 최적으로 사용하지 않지만(같은 숫자를 저장하기 위해 이진 표기보다 약 20% 더 많은 메모리를 사용), ASCII, EBCDIC 또는 Unicode의 다양한 인코딩으로의 변환은 산술 연산이 필요하지 않기 때문에 간단하다.추가 저장 요건은 일반적으로 고정 소수점 10진 산술에서 제공하는 계산기 또는 수동 계산과의 정확성과 호환성의 필요성에 의해 상쇄됩니다.BCD의 밀도가 높은 패킹이 존재하기 때문에 스토리지 패널티를 피할 수 있고 공통 변환에 대한 산술 연산이 필요하지 않습니다.
Packed BCD는 COBOL 프로그래밍 언어에서 "COMPUTALATIONAL-3"(다른 많은 컴파일러 벤더에 의해 채택된 IBM 확장자) 또는 "PARKED-DECIMAL"(1985년 COBOL 표준의 일부) 데이터 유형으로 지원됩니다.PL/I에서는 "FIXED DIMAL"로 지원됩니다.IBM System/360 이상 호환 메인프레임 외에도 Digital Equipment Corporation의 원래 VAX 프로세서와 SDS Sigma 시리즈 메인프레임의 일부 모델에 팩된 BCD가 구현되며, 메인프레임의 Burroughs Corporation 중형 시스템 라인의 기본 형식입니다(1950년대부터 설명됨).rectrodata 200 series).
음수에 대한 10의 보완 표현은 패킹된(및 다른) BCD 숫자의 부호를 인코딩하는 대체 방법을 제공합니다.이 경우 양수는 항상 0에서 4 사이의 가장 유의한 숫자를 가지며 음수는 대응하는 양수의 10의 보수로 표시됩니다.그 결과 32비트 패킹 BCD 번호의 범위는 -50,000,000 ~ +49,999이며 -1은 999999로 표시됩니다.(보완 이진수와 마찬가지로 범위는 0에 대해 대칭이 아닙니다.)
고정 소수점 패킹 소수점
고정 소수점 10진수는 일부 프로그래밍 언어(COBOL 및 PL/I 등)에서 지원됩니다.이러한 언어를 사용하면 프로그래머는 숫자 중 하나 앞에 암묵적인 소수점을 지정할 수 있습니다.예를 들어, 바이트 12 34 56 7C로 인코딩된 패킹된 10진수 값은 암묵적인 10진수가 4번째와 5번째 자리 사이에 있을 때 고정 소수점 값 +1,234.567을 나타냅니다.
12 34 56 7C 12 34.56 7+
이 소수점은 패킹된 BCD 스토리지 포맷에서는 제공되지 않으므로 실제로 메모리에 저장되지 않습니다.그 위치는 컴파일러에게만 알려져 있으며 생성된 코드는 다양한 산술 연산에 따라 작동합니다.
고밀도 부호화
십진수에 4비트가 필요한 경우 십진수 3자리에는 12비트가 필요합니다.단, 2(1,024)는 10(1,000)보다3 크기 때문에10 10진수 3자리를 함께 부호화하면 10비트만 필요합니다.이러한 부호화에는 Chen-Ho 부호화와 Density Packed Decimal(DPD; 조밀하게 패킹된 10진수)이 있습니다.후자의 경우, 부호화의 서브셋은, 통상의 BCD 와 같이, 최적 7 비트로 2 자리수, 4 비트로 1 자리수를 부호화할 수 있는 이점이 있습니다.
구역화 십진수
IBM 메인프레임 시스템과 같은 일부 구현에서는 구역화된 10진수 표현을 지원합니다.각 십진수는 1바이트에 저장되며 하위 4비트는 BCD 형식으로 숫자를 인코딩합니다."존" 비트라고 하는 상위 4비트는 일반적으로 바이트가 자릿수에 해당하는 문자 값을 유지하도록 고정 값으로 설정됩니다.EBCDIC 시스템은 존 값 1111(16진수 F)을 사용합니다.이것에 의해, F0 ~ F9(16진수) 범위의 바이트가 생성됩니다.이것은 문자 「0」~「9」의 EBCDIC 코드입니다.마찬가지로 ASCII 시스템에서는 존 값 0011(16진수)을 사용하여 문자 코드 30~39(16진수)를 지정합니다.
부호 있는 구역화 10진수 값의 경우, 맨 오른쪽(중요하지 않은) 구역 니블에는 부호 패킹된 10진수 값에 사용되는 것과 동일한 값 세트가 포함됩니다(위 참조).따라서 16진수 바이트 F1 F2 D3으로 인코딩된 구역화 10진수 값은 부호화된 10진수 값 -123을 나타냅니다.
F1 F2 D3 1 2 - 3
EBCDIC 구역화 10진수 변환 테이블
BCD 숫자 | 16진수 | EBCDIC 문자 | ||||||
---|---|---|---|---|---|---|---|---|
0+ | C0 | A0 | E0 | F0 | { (*) | \ (*) | 0 | |
1+ | C1 | A1 | E1 | F1 | A | ~ (*) | 1 | |
2+ | C2 | A2 | E2 | F2 | B | s | S | 2 |
3+ | C3 | A3 | E3 | F3 | C | t | T | 3 |
4+ | C4 | A4 | E4 | F4 | D | u | U | 4 |
5+ | C5 | 답 5 | E5 | F5 | E | v | V | 5 |
6+ | C6 | A6 | E6 | F6 | F | w | W | 6 |
7+ | C7 | A7 | E7 | F7 | G | x | X | 7 |
8+ | C8 | A8 | E8 | F8 | H | y | Y | 8 |
9+ | C9 | A9 | E9 | F9 | I | z | Z | 9 |
0− | D0 | B0 | } (*) | ^ (*) | ||||
1− | D1 | 지하 1층 | J | |||||
2− | D2 | B2 | K | |||||
3− | D3 | B3 | L | |||||
4− | D4 | B4 | M | |||||
5− | D5 | B5 | N | |||||
6− | D6 | B6 | O | |||||
7− | D7 | B7 | P | |||||
8− | D8 | B8 | Q | |||||
9− | D9 | B9 | R |
(*) 주의: 이러한 문자는 로컬 문자 코드 페이지 설정에 따라 달라집니다.
고정 소수점 구분 소수점
일부 언어(COBOL 및 PL/I 등)는 고정 소수점 구역화 10진수 값을 직접 지원하며, 숫자의 소수점 사이의 특정 위치에 암묵적인 10진수를 할당합니다.예를 들어, 6 바이트의 부호 있는 10 진수치에 4 자리수의 오른쪽에 암묵적인 10 진수를 지정했을 경우, 16 진수 바이트 F1 F2 F7 F9 F5 C0 는 +1,279.50 의 값을 나타냅니다.
F1 F2 F7 F9 F5 C0 1 2 7 9 . 5 + 0
컴퓨터의 BCD
IBM
IBM은 숫자, 대문자 및 특수 문자를 나타내는 6비트 영숫자 코드에 BCDIC(Binary-Coded Decimal Interchange Code)라는 용어를 사용했습니다.BCDIC 알파벳의 일부 변형은 IBM 1620(1959년에 도입), IBM 1400 시리즈 및 IBM 700/7000 시리즈의 10진 아키텍처 이외의 구성원을 포함한 대부분의 초기 IBM 컴퓨터에서 사용됩니다.
IBM 1400 시리즈는 문자 주소 지정이 가능한 기계이며, 각 위치에는 B, A, 8, 4, 2, 1의 6비트와 홀수 패리티 체크 비트(C) 및 워드 마크 비트(M)가 있습니다.부호화 자리수 1~9의 경우 B와 A는 0이며 비트 8~1의 표준 4비트 BCD로 나타나는 자리수 값이다.대부분의 다른 문자의 경우 비트 B 및 A는 펀치된 카드 문자 코드의 "12", "11" 및 "0" "존 펀치"에서, 비트 8에서1은 1~9 펀치에서 파생됩니다.「12 존」펀치 세트 B와 A, 「11 존」세트 B, 「0 존」세트 A가 된다.따라서 (12,1) 펀치카드 형식의 문자 A가 부호화됩니다(B, A, 1).펀치된 카드의 통화 기호 $(11,8,3)는 메모리에 (B,8,2,1)로 인코딩되었습니다.이것에 의해, 몇개의 특수한 케이스만으로, 펀치 카드 형식과 내부 스토리지 형식과의 변환을 간단하게 실시할 수 있습니다.1개의 중요한 특수한 경우는 숫자0 입니다.카드에서는 0 펀치가 1개, 코어 [43]메모리에서는 (8,2) 펀치가 1개입니다.
IBM 1620의 메모리는 6비트 주소 지정 가능 자리(일반 8, 4, 2, 1 플러스 F)로 구성되어 플래그 비트로 사용되며 홀수 패리티 체크 비트인 C로 구성됩니다.BCD 알파벳은 숫자쌍을 사용하여 부호화되며 짝수 주소의 "zone"과 홀수 주소의 "digit"은 1400 시리즈와 같이 12, 11 및 0의 "zone punches"에 관련됩니다.내부 숫자 쌍과 외부 표준 6비트 BCD 코드 간에 변환된 입출력 변환 하드웨어.
10진수 아키텍처에서 IBM 7070, IBM 7072 및 IBM 7074 알파벳은 10자리 단어의 숫자 쌍(BCD가 아닌 자릿수에 5개 중 2개 코드 사용)을 사용하여 인코딩되며, 왼쪽 자리에는 "zone"이, 오른쪽 자리에는 "digit"가 있습니다.내부 숫자 쌍과 외부 표준 6비트 BCD 코드 간에 변환된 입출력 변환 하드웨어.
System/360의 도입으로 IBM은 6비트 BCD 알파벳을 8비트 EBCDIC로 확장하여 더 많은 문자(예: 소문자)를 추가할 수 있게 되었습니다.가변길이 Packed BCD 수치 데이터형도 구현되어 팩된 10진수 데이터에 대해 직접 연산을 실행하는 기계명령어를 제공한다.
IBM 1130 및 1800에서는 IBM의 Commercial Subroutine Package에서 패키징 BCD가 소프트웨어에서 지원됩니다.
오늘날 BCD 데이터는 IBM DB2, 메인프레임 및 Power6와 같은 IBM 프로세서 및 데이터베이스에서 여전히 많이 사용됩니다.이러한 제품에서 BCD는 보통 BCD(EBCDIC 또는 ASCII와 같이), Packed BCD(바이트당 10진수 2자리) 또는 "순수" BCD 인코딩(바이트의 하위 4비트에 BCD로 저장됨)으로 구분됩니다.이 모든 것은 하드웨어 레지스터 및 처리 장치 내 및 소프트웨어에서 사용됩니다.EBCDIC 테이블 언로드의 패킹된 소수를 판독 가능한 수치로 변환하려면 JCL 유틸리티 DFSORT의 [44]OUTREC FILDS 마스크를 사용합니다.
기타 컴퓨터
Digital Equipment Corporation VAX-11 시리즈에는 패킹된 BCD 데이터에 대해 직접 계산을 수행하고 패킹된 BCD 데이터와 기타 정수 [41]표현 간에 변환할 수 있는 명령이 포함되어 있습니다.VAX의 포장 BCD 형식은 IBM System/360 및 IBM의 이후 호환 프로세서의 BCD 형식과 호환됩니다.MicroVAX 이후의 VAX 구현에서는 CPU에서 이 기능은 삭제되었지만 운영체제에서 제공하는 소프트웨어 라이브러리에 누락된 명령을 구현하여 이전 머신과의 코드 호환성을 유지했습니다.이 명령어는 사용되지 않는 명령이 발견되면 예외 처리를 통해 자동으로 호출되므로 이를 사용하는 프로그램이 새로운 기계에서 수정 없이 실행될 수 있습니다.
인텔 x86 아키텍처는 부동소수점 레지스터에 로드 및 저장할 수 있는 고유한 18자리 (10바이트) BCD 형식을 지원합니다.여기서 연산을 실행할 [45]수 있습니다.
Motorola 68000 시리즈에는 BCD [46]명령이 있습니다.
최근의 컴퓨터에서는 이러한 기능이 CPU의 명령 집합이 아닌 소프트웨어에서 구현되는 경우가 대부분이지만 BCD 수치 데이터는 여전히 상용 및 재무 애플리케이션에서 매우 일반적입니다.짧지만 이해하기 어려운 워드 병렬 [47]논리 및 이진 연산 시퀀스를 사용하여 패킹된 BCD 및 구역화 10진수 덧셈 또는 추출 연산을 구현하는 요령이 있습니다.예를 들어, 다음 코드(C로 입력)는 32비트 이진 연산을 사용하여 부호 없는8자리 패킹 BCD 덧셈을 계산합니다.
uint32_t 비씨 추가(uint32_t a, uint32_t b) { uint32_t t1, t2; // 부호 없는 32비트 중간값 t1 = a + 0x06666666; t2 = t1 ^ b; // 반송 전파가 없는 합계 t1 = t1 + b; // 잠정 합계 t2 = t1 ^ t2; // 모든 바이너리 반송 비트 t2 = ~t2 & 0x11111110; // BCD 전송 비트만 t2 = (t2 >> 2) (t2 >> 3); // 수정 돌아가다 t1 - t2; // 수정 BCD 합계 }
전자제품 BCD
BCD는 숫자 값이 표시되는 전자 시스템에서 매우 일반적이며, 특히 마이크로프로세서를 포함하지 않고 디지털 로직으로만 구성된 시스템에서 특히 그렇습니다.BCD를 이용하는 것으로, 각 디지트를 별개의 단일 서브 회로로서 취급하는 것으로써, 표시용의 수치 데이터의 조작을 큰폭으로 심플화할 수 있다.이는 디스플레이 하드웨어의 물리적 현실과 훨씬 더 밀접하게 일치합니다.예를 들어 설계자는 일련의 동일한7 세그먼트 디스플레이를 사용하여 미터링 회로를 구축하는 것을 선택할 수 있습니다.수치를 순수 바이너리로 저장하고 조작할 경우, 이러한 디스플레이와 인터페이스하려면 복잡한 회로가 필요합니다.따라서 계산이 비교적 간단한 경우 BCD를 사용하여 전체적으로 작업하면 바이너리로 변환하거나 바이너리에서 변환하는 것보다 전반적으로 단순할 수 있습니다.대부분의 포켓 계산기는 모든 계산을 BCD로 합니다.
이 타입의 하드웨어가 내장 마이크로컨트롤러 또는 기타 소형 프로세서를 사용하는 경우에도 같은 인수가 적용됩니다.이러한 한정된 프로세서에서는 바이너리 표현에서 바이너리 표현으로의 변환은 비용이 많이 들기 때문에 BCD 형식으로 내부적으로 숫자를 표현하면 코드가 작아지는 경우가 많습니다.이러한 애플리케이션의 경우, 일부 소형 프로세서는 BCD [48][49]수량을 조작하는 루틴을 작성할 때 도움이 되는 전용 산술 모드를 갖추고 있습니다.
BCD를 사용한 운용
추가
먼저 바이너리를 추가한 후 BCD로 변환하여 추가할 수 있습니다.2 자리수의 간단한 합계를 변환하려면 , 5 비트 결과의 자리수의 추가 값이 9 를 넘는 경우에, 6(16 ~10)을 더합니다.6을 추가하는 이유는 가능한 4비트 BCD 값은 16개(2 = 164 이후)이지만 유효한 값은 10개(0000 ~1001)뿐이기 때문입니다.예를 들어 다음과 같습니다.
1001 + 1000 = 10001 9 + 8 = 17
10001은 원하는 결과의 이진수이지 10진수가 아닙니다만, 최상위 1("carry")은 4비트 이진수에 들어갈 수 없습니다.BCD 에서는, 10 진수 마다 9(1001)보다 큰 값은 존재할 수 없습니다.이를 수정하기 위해 6(0110)을 합계에 더하고 그 결과를 2개의 니블로 처리합니다.
10001 + 0110 = 00010111 => 0001 0111 17 + 6 = 23 1 7
결과의 두 니블인 0001과 0111은 숫자 "1"과 "7"에 해당합니다.그러면 BCD에서 "17"이 나오는데, 이것이 올바른 결과입니다.
이 기술은 오른쪽에서 왼쪽으로 그룹을 추가하여 두 번째 숫자를 캐리로 전파하고 항상 각 숫자 쌍의 합계의 5비트 결과를 9와 비교함으로써 여러 숫자를 추가하는 것으로 확장할 수 있습니다.일부 CPU는 바이너리 덧셈 및 뺄셈 연산에 따른 BCD 산술 조정을 용이하게 하기 위해 하프캐리 플래그를 제공합니다.인텔 8080, Zilog Z80[50] 및 x86[51] 패밀리의 CPU는 opcode DAA(Decimal Adjust Agculator)를 제공합니다.
뺄셈
뺄셈은 10의 부분보완을 최소값에 더함으로써 이루어집니다.BCD에서 숫자의 부호를 나타내기 위해 숫자 0000은 양수를 나타내기 위해 사용되며 1001은 음수를 나타내기 위해 사용됩니다.나머지 14개 조합은 유효하지 않은 기호입니다.부호화된 BCD 감산을 설명하기 위해 357~432의 문제를 고려합니다.
서명된 BCD에서 357은 0000 0011 0101 0111 입니다.10의 432의 덧셈은 9의 덧셈 432를 취해서 1을 더하면 얻을 수 있다.즉, 999 - 432 = 567이고, 567 + 1 = 568입니다.BCD에서 568을 네거티브 부호 코드로 선행함으로써 -432를 나타낼 수 있다.따라서 서명된 BCD의 -432는 1001 0101 0110 1000 입니다.
이제 두 숫자가 서명된 BCD로 표시되므로 두 숫자를 합칠 수 있습니다.
0000 0011 0101 0111 0 3 5 7 + 1001 0101 0110 1000 9 5 6 8 = 1001 1000 1011 11 9 8 11 15
BCD는 십진표현의 한 형태이기 때문에 위의 몇 자리 합계가 유효하지 않습니다.무효 엔트리(1001보다 큰 BCD 디짓)가 존재하는 경우 6을 가산하여 캐리 비트를 생성하고 합계가 유효한 엔트리가 된다.따라서 비활성 엔트리에 6을 추가하면 다음과 같은 결과가 됩니다.
1001 1000 1011 11 9 8 11 15 + 0000 0110 0110 0 6 = 1001 0010 010 9 2 5
따라서 감산 결과는 1001 1001 00101 0101(-925)입니다.결과를 확인하기 위해 첫 번째 숫자는 음수인 9입니다.357 - 432는 음수가 되기 때문에 이것은 올바른 것 같습니다.나머지 니블은 BCD이므로 1001 00100101은 925입니다.10의 925의 보수는 1000 - 925 = 75이므로 계산된 답은 -75입니다.
합산하는 니블의 수가 다른 경우(1053 - 2 등)는 10의 보수를 취하거나 빼기 전에 숫자가 작은 숫자에 0을 붙여야 합니다.따라서, 1053 - 2의 경우, BCD에서 2는 먼저 0002로 표현되어야 하며, 10의 보완인 0002를 계산해야 한다.
순수 바이너리와의 비교
이점
- 십진수 0.2와 같은 많은 비적분 값은 이진수(.00110011...)로 무한 자리 값 표현되지만 이진수 코드화된 십진수(0.0010)로 유한 자리 값을 가집니다.이것에 의해, 10 진분수의 바이너리 부호화 10 진표현에 근거하는 시스템은, 이러한 값을 나타내어 산출하는 오차를 회피한다.이것은 재무 계산에 유용합니다.
- 10의 거듭제곱으로 확장하는 것은 간단합니다.
- 소수점 경계에서 반올림하는 것이 더 간단합니다.소수점에서의 덧셈과 뺄셈은 [dubious ]반올림할 필요가 없습니다.
- 두 소수점(예: 1.3 + 27.08)의 정렬은 단순하고 정확한 이동입니다.
- 문자 형식 또는 디스플레이(XML 등의 텍스트 기반 형식 또는 7 세그먼트 디스플레이용 드라이브 신호)로의 변환은 단순한 자리 단위 매핑이며 선형(O(n) 시간 내에 수행될 수 있습니다.순수 바이너리로부터의 변환은, 자릿수에 걸치는 비교적 복잡한 로직을 수반해, 큰 숫자의 경우, 선형 시간 변환 알고리즘은 알려져 있지 않습니다( 「바이너리 숫자 시스템」의 「다른 숫자 시스템과의 변환」
단점들
- 일부 운영은 구현이 더 복잡합니다.덧셈기는 래핑하여 캐리어를 조기에 생성하기 위해 추가 로직이 필요합니다. BCD 덧셈에는 순수 바이너리 대비 15~20%[citation needed]의 회로가 필요합니다.곱셈에는 shift-mask-add보다 다소 복잡한 알고리즘이 필요합니다(바이너리 곱셈에서는 바이너리 시프트와 덧셈 또는 이에 상당하는 자릿수 또는 자리수 그룹이 필요합니다).
- 표준 BCD에서는 1자리당4비트가 필요합니다.이는 바이너리 부호화보다 약 20% 더 큰 공간입니다(4비트와 로그2 10비트의 비율은 1.204입니다).세 자리 숫자가 10비트로 인코딩되도록 패킹하면 기존 하드웨어의 8비트 바이트 경계와 정렬되지 않은 인코딩을 희생하여 스토리지 오버헤드가 크게 감소하므로 이러한 시스템에서 구현 속도가 느려집니다.
- BCD의 실제적인 기존 구현은 네이티브 BCD [52]작업에 대한 프로세서 지원이 제한적이기 때문에 바이너리 표현(특히 임베디드 시스템)에서의 작업보다 일반적으로 느립니다.
표현상의 변화
숫자에 대해 다른 표현을 사용하는 다양한 BCD 구현이 존재한다.Texas Instruments, Hewlett-Packard 등이 제조한 프로그래머블 계산기는 일반적으로 부동소수점 BCD 형식을 사용합니다.일반적으로 (10진수) 지수에 2자리 또는 3자리가 사용됩니다.부호 자릿수의 추가 비트는 무한대, 언더플로/오버플로, 오류(점멸 디스플레이)와 같은 특수 숫자 값을 나타내기 위해 사용될 수 있습니다.
부호 있는 변형
부호 있는 10진수 값은 여러 가지 방법으로 나타낼 수 있습니다.예를 들어 COBOL 프로그래밍 언어는 5개의 구역화된 10진수 형식을 지원하며 각각 다른 방식으로 숫자 기호를 인코딩합니다.
유형 | 묘사 | 예 |
---|---|---|
서명 없음 | 갉아먹기 | F1 F2 F3 |
부호 후행(표준 형식) | 마지막( 최하위) 바이트의 부호 니블 | F1 F2 C3 |
서명 선두(오버펀치) | 첫 번째(가장 유의한) 바이트의 부호 니블 | C1 F2 F3 |
후행 구분 서명 | 구분 기호 문자 바이트('+' 또는'−' 숫자 바이트 뒤에 )가 표시됩니다. | F1 F2 F3 2B |
서명된 선두 구분 | 구분 기호 문자 바이트('+' 또는'−' 디짓 바이트 앞) | 2B F1 F2 F3 |
텔레포니 바이너리 코드 10진수(TBCD)
3GPP는 BCD로의 확장 기능인 TBCD를 [53]개발했습니다.BCD는 전화 키패드의 원래 디자인과 유사한 숫자를 가진 나머지 (미사용) 비트 조합을 사용하여 특정 텔레포니 [54][55]문자를 추가합니다.
십진수 숫자 | 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 |
전술한 3GPP 문서에서는 각 바이트에 니블이 교환된 TBCD-STRING을 정의하고 있습니다.비트, 옥텟 및 디짓은 1부터, 비트는 오른쪽에서, 디짓과 옥텟은 왼쪽에서 인덱스됩니다.
옥텟 n 부호화 디짓 2n의 비트 8765
옥텟 n 부호화 디짓 2(n – 1) + 1의 비트4321
의미수1234
, 가 됩니다.21 43
TBCD에서.
대체 인코딩
표시 및 표시로부터의 변환 속도보다 표현 및 계산 오류가 중요한 경우에는 스케일링된 2진수 표현을 사용하여 10진수를 2진수 부호화 정수 및 2진수 부호화 10진수로서 저장할 수 있다.예를 들어 0.2는 2×10으로−1 나타낼 수 있다.
이 표현은 빠른 곱셈과 나눗셈을 허용하지만 소수점 정렬을 위해 더하기 및 빼기 동안 10의 거듭제곱을 이동해야 할 수 있습니다.이 방법은 소수점 이후 2자리 또는 4자리로 충분한 금융 애플리케이션 등 소수점 이하 고정 자리수를 가진 애플리케이션에 적합합니다.실제로, 이것은 기수점의 위치가 암시되어 있기 때문에 거의 고정점 산술의 한 형태입니다.
Hertz 및 Chen-Ho 인코딩은 3개의 BCD 인코딩된 디짓의 그룹을 10비트 값으로[nb 1] 변환하기 위한 부울 변환을 제공합니다.부울 변환은 게이트 지연이 2개 또는3개밖에 없는 하드웨어로 효율적으로 인코딩할 수 없습니다.Density Packed Decimal(DPD; 조밀하게 패킹된 10진수)은 IEEE 754-2008 부동소수점 표준에서 지정된2개의 대체 10진수 부호화 중 하나에 대해 선두 자리를 제외한 대부분의 중요도에 사용되는 유사한[nb 1] 방식입니다.
어플
많은 PC의 BIOS는 날짜와 시간을 BCD로 저장합니다.이는 원래 IBM PC AT 마더보드에 사용된 MC6818 실시간 클럭 칩이 BCD로 인코딩된 시간을 제공했기 때문입니다.이 양식은 표시를 [56][57]위해 ASCII로 쉽게 변환됩니다.
Atari 8비트 컴퓨터 패밀리는 BCD를 사용하여 부동소수점 알고리즘을 구현했습니다.MOS 6502 프로세서에는 덧셈 및 뺄셈 명령에 영향을 주는 BCD 모드가 있습니다.Psion Organizer 1의 핸드헬드 컴퓨터 제조업체에서 제공하는 소프트웨어도 부동 소수점 구현에 BCD를 사용했습니다.이후 Psion 모델에서는 바이너리만 사용되었습니다.
PlayStation 3의 초기 모델은 날짜와 시간을 BCD로 저장합니다.이로 인해 2010년 3월 1일 콘솔이 전 세계적으로 정지되었습니다.BCD로 저장된 연도의 마지막 두 자리 숫자가 16으로 잘못 해석되어 장치 날짜에 오류가 발생하여 대부분의 기능이 작동하지 않게 되었습니다.이것은 2010년의 문제라고 불리고 있습니다.
법률사
1972년 고트샬크 대 벤슨 사건에서 미국 대법원은 BCD 인코딩 숫자를 컴퓨터에서 이진수로 변환하는 특허를 허용한 하급 법원의 판결을 뒤집었다.이 결정은 특허가 "수식보다 전적으로 우선하며 실질적으로 알고리즘 자체에 대한 특허가 될 것"[58]이라고 언급했다.이는 소프트웨어와 알고리즘의 특허성을 결정하는 획기적인 판단이었다.
「 」를 참조해 주세요.
- 2진수 부호화 10진수
- 바이너리 코드 삼진수(BCT)
- 이진 정수 10진수(BID)
- 비트 마스크
- Chen-Ho 부호화
- 십진법 컴퓨터
- 조밀하게 패킹된 10진수(DPD)
- 2진수를 BCD로 변환하는 알고리즘인 Double Dabble
- 2000년 문제
메모들
- ^ a b c 표준 패킹된 4비트 표현에서는 10개의 테트라데와 6개의 의사 테트라데를 가진 16개의 상태(각 자리마다 4비트)가 있지만, Hertz, Chen-Ho 또는 DPD 인코딩과 같은 보다 조밀하게 패킹된 방식에서는 1024개의 상태(3자리의 경우 10비트)에서만 미사용 상태가 적어집니다.
- ^ a b c d e 코드 상태(검은색으로 표시)가 10 진수 범위 0 ~9 를 벗어나면, 코드의 BCD 이외의 바리안트의 추가 상태를 나타냅니다.여기서 설명하는 BCD 코드 배리언트에서는, 이것들은 의사 테트라이드입니다.
- ^ Aiken 코드는 여러 개의 2-42.1 코드 중 하나입니다.2*4 2 1 코드라고도 합니다.
- ^ Jump-at-8 코드는 비대칭 2 4 2 1 코드라고도 합니다.
- ^ Petherick 코드는 Royal Aircraft Establishment (RAE) 코드라고도 합니다.
- ^ O'Brien 코드 타입 I은 Watts 코드 또는 Watts Reflected Decimal(WRD) 코드라고도 합니다.
- ^ Excess-3 Gray 코드는 Gray-Stibitz 코드라고도 합니다.
- ^ a b 마찬가지로 미니컴퓨터에서 여러 문자가 기계어로 압축되는 경우가 많습니다(IBM SQUOZE 및 DEC RADIX 50 참조).
레퍼런스
- ^ Intel. "ia32 architecture manual" (PDF). Intel. Retrieved 2015-07-01.
- ^ a b Klar, 라이너(1970-02-01)."1.5.3 Konvertierung binär verschlüsselter Dezimalzahlen"[2진 코드화된 소수 수의 1.5.3 전환].Digitale Rechenautomaten 아이네 클라이네 Einführung[디지털 컴퓨터 도입 –]–.Sammlung Göschen(독일어로).Vol1241/1241a(1판).베를린 독일:월터 드 Gruyter&./G.J. Göschen'sche Verlagsbuchhandlung[드].를 대신하여 서명함. 17,21.아이 에스비엔 3-11-083160-0.. Archiv-Nr. 7990709.그 2020-04-18에 원래에서 Archived..(205페이지)(NB다. 초판의 2019년 재판 아이 에스비엔 3-11002793-3, 978-3-11002793-8에서 이용할 수 있다 2020-04-13 Retrieved.재작업 및 증설된 제4판도 있습니다.)
- ^ a b c Klar, 라이너[1988-10-01](1989년)."1.4를 충족하는 것:Binär verschlüsselte Dezimalzahlen"[1.4를 충족하는 것:이진 코드화 10진 숫자].Digitale Rechenautomaten 다이의 폰 Computerhardware[디지털 컴퓨터 컴퓨터 하드웨어의 구조에 대한 소개 –]에 아이네 클라이네 Einführung –.Sammlung Göschen(독일어로).Vol2050년(4일 교육 reworked.).베를린 독일:월터 드 Gruyter&제조 업체를 대신하여 서명함. 25일 28일 38–39.아이 에스비엔 3-11011700-2. 페이지의 주 25:[…]다이 0/1-Musternennt 남자 auch Pseudodezimalen erlaubten nicht.[…](320페이지)
- ^ Schneider, Hans-Jochen (1986). Lexikon der Informatik und Datenverarbeitung (in German) (2 ed.). R. Oldenbourg Verlag München Wien. ISBN 3-486-22662-2.
- ^ Tafel, Hans Jörg (1971). Einführung in die digitale Datenverarbeitung [Introduction to digital information processing] (in German). Munich: Carl Hanser Verlag. ISBN 3-446-10569-7.
- ^ Steinbuch, Karl W.; Weber, Wolfgang; Heinemann, Traute, eds. (1974) [1967]. Taschenbuch der Informatik - Band II - Struktur und Programmierung von EDV-Systemen. Taschenbuch der Nachrichtenverarbeitung (in German). Vol. 2 (3 ed.). Berlin, Germany: Springer-Verlag. ISBN 3-540-06241-6. LCCN 73-80607.
- ^ Tietze, Ulrich; Schenk, Christoph (2012-12-06). Advanced Electronic Circuits. Springer Science & Business Media. ISBN 978-3642812415. 9783642812415. Retrieved 2015-08-05.
- ^ Kowalski, Emil (2013-03-08) [1970]. Nuclear Electronics. Springer-Verlag. doi:10.1007/978-3-642-87663-9. ISBN 978-3642876639. 9783642876639, 978-3-642-87664-6. Retrieved 2015-08-05.
- ^ Ferretti, Vittorio (2013-03-13). Wörterbuch der Elektronik, Datentechnik und Telekommunikation / Dictionary of Electronics, Computing and Telecommunications: Teil 1: Deutsch-Englisch / Part 1: German-English. Vol. 1 (2 ed.). Springer-Verlag. ISBN 978-3642980886. 9783642980886. Retrieved 2015-08-05.
- ^ Speiser, Ambrosius Paul (1965) [1961]. Digitale Rechenanlagen - Grundlagen / Schaltungstechnik / Arbeitsweise / Betriebssicherheit [Digital computers - Basics / Circuits / Operation / Reliability] (in German) (2 ed.). ETH Zürich, Zürich, Switzerland: Springer-Verlag / IBM. p. 209. LCCN 65-14624. 0978.
- ^ Cowlishaw, Mike F. (2015) [1981, 2008]. "General Decimal Arithmetic". Retrieved 2016-01-02.
- ^ Evans, David Silvester (March 1961). "Chapter Four: Ancillary Equipment: Output-drive and parity-check relays for digitizers". Digital Data: Their derivation and reduction for analysis and process control (1 ed.). London, UK: Hilger & Watts Ltd / Interscience Publishers. pp. 46–64 [56–57]. Retrieved 2020-05-24. (8+82페이지)(NB).결과 5비트 코드의 홀수 패리티를 달성하기 위해 최소 유효 비트로 추가 패리티 비트가 적용된4비트 8421 BCD 코드를 페란티 코드라고도 합니다).
- ^ Lala, Parag K. (2007). Principles of Modern Digital Design. John Wiley & Sons. pp. 20–25. ISBN 978-0-470-07296-7.
- ^ a b c d e f g h i j k l m n 버거, 에리히 R.(1962년)."1.3.3.다이 Codierung Zahlen"다.카를스루에, 독일에서 쓰여진.Steinbuch에서 칼 W.(교육.).Taschenbuch(독일어로)(1판)Nachrichtenverarbeitung이다.베를린/괴팅겐/뉴욕:Springer-Verlag OHG.를 대신하여 서명함. 68–75. LCCN 62-14511.(NB다.원본 Kautz 코드(나는)의 표시 Kautz 코드(2세), 1초의 이상한 횟수로 모두 8개의 사용 가능한 2진 주 들어 있는 약간의 변형, 1초의 고른 횟수로 모두 8개 주를 포함하도록most-significant 비트의 치환은9s 보수를 창출할 것이다.).
- ^ a b c d e f Kämmerer, 빌헬름(5월 1969년)."II.15.식물의 구조:Informationsdarstellung Automaten"어.예나, 독일에서 쓰여진.Frühauf, 한스, Kämmerer, 빌헬름, 슈뢰더, 커즈!;빙클러, 헬무트(eds.)에서.Digitale Automaten Theorie, 식물의 구조, Technik, Programmieren –.Elektronisches Rechnen 운트 Regeln(독일어로).Vol5(1판).베를린 독일:Akademie-Verlag 회사. 페이지의 주 161. 면허증 번호 202-100/416/69.주문 번호 4666 줄기 20K3.(NB두번째 판 1973년 뿐만 아니라 존재한다.).
- ^ a b c d e f g h i j k l m n o p q Dokter, Folkert, Steinhauer, 위르겐(1973-06-18).디지털 전자입니다.필립스 기술 도서관(주요 표적 지역선)/맥밀런 교육(1영어 교육의 Reprint.).아인트호벤, 네덜란드:그 맥밀란 출판 주식 회사/N.V필립스의 Gloeilampenfabrieken.doi:10.1007/978-1-349-01417-0.아이 에스비엔 978-1-349-01419-4.SBN 333-13360-9..(270페이지)(NB2020-05-11 Retrieved.이것은 2권짜리 독일어판 제1권 번역본에 근거하고 있습니다.
- ^ a b c d e f g h i j k l m n o p q Dokter, Folkert; Steinhauer, Jürgen (1975) [1969]. Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik. Philips Fachbücher (in German). Vol. I (improved and extended 5th ed.). Hamburg, Germany: Deutsche Philips GmbH. p. 50. ISBN 3-87145-272-6. (xii+327+3페이지)(NB).제1권의 독일어판은 1969년, 1971년, 1972년, 1975년 두 판이 출판되었다.제2권은 1970년, 1972년, 1973년, 1975년에 출판되었다.)
- ^ a b c d e f Kautz, 윌리엄 H.(1954년 6월)."4세. 사례 A소수, nx4"을 충족하는 것.최적 데이터 부호화 디지털 컴퓨터.협약 기록은 I.R.E., 1954년 전당 대회, 제4부-전자 컴퓨터 정보 이론.세션 19시 정보 이론 3-속도와 계산.스탠포드 연구소, 스탠포드, 캘리포니아, 미국:I.R.E.를 대신하여 서명함. 47–57[49, 51–52, 57].그 2020-07-03에 원래에서 Archived.. 페이지의 주 52:마지막 칼럼[표 II의][…], 표지"최고는,"어떤 code—namely 다시 다른 재래식 코드보다0.60—half의 최고 일부 가능한 준다 2020-07-03 Retrieved.이 extremal 그림 4의 그래프의 10경우heavily-marked vertices과 nx4에 대해, 또는 사실에"1's."을(또는 모든 8개 이상한로)번호로 모든 8개 포함한다 10코드 조합의 집합과 한다.표 II의 두번째와 세번째 행 목록과 최고의 소수 변화 감지되지 못한 단일 이진 오류 1인당 평균, 그리고 섹의 방정식을 사용해 이행되었다.2세 Δ1과 δ1.10진법"소수 변화,"의 기준 사용이 탄력을 받는 혼란 지수cij)나는 0,1ji,j=−, 9…. 다시, 그"베스트"배치 가능한(그 평균의 절정을 위해 같은), 하나의 그림 4에 나타난 경우, 실질적으로 기존의 규정보다도 낫는 것이다.[…]그림 10진법은 4Minimum-confusion 코드입니다.[…]δ1=2 Δ1=15[…][1][2][3][4][5][6][7][8][9][10][11](11페이지)(NB다.4-bit BCD"소수에 minimum-confusion 코드"의 작가 코드로 하나만 명시적으로(그대로 재현하는 것은 조합적 집합, 게다가 1세)에 형태의 소품에서 따온 4비트의 그래프, 저자를 보여 주는16-state 4비트"아날로그 데이터를 2진 부호"에 형태이다. 는 코드 테이블 중 whic.h 단, 여기서는 설명하지 않습니다.여기에 표시된 코드 II는 Berger가 설명한 코드를 수정한 것입니다.)
- ^ a b c Chinal, 장 P.(1973년 1월)."3.3. 단위 거리 기준".프랑스 파리에서 쓰여졌기 때문.디자인 콘텐츠 디지털 시스템을 위한.프레스톤, 앨런, 하계, 아서(1영어 교육.).베를린 독일:Akademie-Verlag/Springer-Verlag. p. 46.doi:10.1007/978-3-642-86187-1_3.아이 에스비엔 978-0-387-05871-9.라이센스 아니 202-100/542/73.주문 번호 7617470(6047)줄기 19B1/20K3. 2020-06-21 Retrieved.(xviii+506 페이지)(NB다.1967년 프랑스 원작의 이름은 Editions Dunod[fr]에 의해 된 "Techniques Boolénes et Calculurs 산술"이다.
- ^ a b Military Handbook: Encoders - Shaft Angle To Digital (PDF). United States Department of Defense. 1991-09-30. MIL-HDBK-231A. Archived (PDF) from the original on 2020-07-25. Retrieved 2020-07-25. (NB. MIL-HDBK-231(AS)(1970-07-01)을 대체합니다.)
- ^ a b Stopper, Herbert (March 1960). Written at Litzelstetten, Germany. Runge, Wilhelm Tolmé (ed.). "Ermittlung des Codes und der logischen Schaltung einer Zähldekade". Telefunken-Zeitung (TZ) - Technisch-Wissenschaftliche Mitteilungen der Telefunken GMBH (in German). Berlin, Germany: Telefunken. 33 (127): 13–19. (7페이지)
- ^ a b Borucki, 로렌츠, Dittmann, 요아힘(1971년)[7월 1970년, 1966년, 가을이 1965년]."2.3Gebräuchliche 코드 데르 digitalen에 Meßtechnik".크레펠트/소속, 독일에서 쓰여진.Digitale Meßtechnik:아이네 클라이네 Einführung(독일어로)(2판).베를린/하이델베르크, 독일:Springer-Verlag.를 대신하여 서명함. 10–23[12–14].doi:10.1007/978-3-642-80560-8.아이 에스비엔 3-540-05058-2.LCCN 75-131547.아이 에스비엔 978-3-642-80561-5.(viii+252 페이지)1판이다.
- ^ White, Garland S. (October 1953). "Coded Decimal Number Systems for Digital Computers". Proceedings of the Institute of Radio Engineers. Institute of Radio Engineers (IRE). 41 (10): 1450–1452. doi:10.1109/JRPROC.1953.274330. eISSN 2162-6634. ISSN 0096-8390. S2CID 51674710. (3페이지)
- ^ "Different Types of Binary Codes". Electronic Hub. 2019-05-01 [2015-01-28]. Section 2.4 5211 Code. Archived from the original on 2017-11-14. Retrieved 2020-08-04.
- ^ Paul, Matthias R. (1995-08-10) [1994]. "Unterbrechungsfreier Schleifencode" [Continuous loop code]. 1.02 (in German). Retrieved 2008-02-11. (NB. 저자는 이 코드를 Schleifencode(영어: "루프 코드")라고 부릅니다.이 코드는 상태 0의 인코딩에서만 회색 BCD 코드와 다르며, 완전한 원 회전 애플리케이션의 주기 단위 거리 코드가 됩니다.모두 제로 코드 패턴을 회피하면 루프 자가 테스트가 가능하며 중단 없는 배전에 데이터 라인을 사용할 수 있습니다.)
- ^ Gray, Frank (1953-03-17) [1947-11-13]. Pulse Code Communication (PDF). New York, USA: Bell Telephone Laboratories, Incorporated. U.S. Patent 2,632,058. Serial No. 785697. Archived (PDF) from the original on 2020-08-05. Retrieved 2020-08-05. (13페이지)
- ^ Glixon, Harry Robert (March 1957). "Can You Take Advantage of the Cyclic Binary-Decimal Code?". Control Engineering. Technical Publishing Company, a division of Dun-Donnelley Publishing Corporation, Dun & Bradstreet Corp. 4 (3): 87–91. ISSN 0010-8049. (5페이지)
- ^ a b 레들리, 로버트 스티븐, Rotolo, 루이스 S., 윌슨, 제임스 브루스(1960년)." 제4편.논리적 설계 Digital-Computer Circuitry의;15장.직렬 산술 연산,장 15-7.추가 Topics".디지털 컴퓨터 및 제어 공학(PDF).맥그로힐 전기 전자 공학과 시리즈(1판).미국 뉴욕:맥그로힐 서점, Inc.(프린터:.단풍을 눌러 회사, 펜실베이니아 주, 미국)를 대신하여 서명함. 517–518.아이 에스비엔 0-07036981-X.ISSN 2574-7916.LCCN 59015055.온라인 컴퓨터 도서관 센터 1033638267.OL5776493M.SBN 07036981-X.. 궤:/13960/t72v3b312.그 2021-02-19에 원래에서Archived(PDF).. 우편 517:[…]그 순환 코우드 계전기 회로의 한 주기 수가 향후 갈 예정이 지연되는 끈적거리는 릴레이가 잘못된 상태를 할 수 없음에 대한 주로에 유리하다 2021-02-19 Retrieved.이 재산이 많은 다른 순환 코드가 있습니다.[…][12](xxiv+835+1 페이지)(NB다. 레들리는 cyclic decimal-coded 2진 부호로 기술된 사이클릭 코드 분류했다.).
- ^ a b c d Savard, John J. G. (2018) [2006]. "Decimal Representations". quadibloc. Archived from the original on 2018-07-16. Retrieved 2018-07-16.
- ^ Petherick, Edward John (October 1953). A Cyclic Progressive Binary-coded-decimal System of Representing Numbers (Technical Note MS15). Farnborough, UK: Royal Aircraft Establishment (RAE). (4페이지) (NB. Cyclic-Coded Binary-Coded-Decimal System of the Number) (순환 부호화된 이진 부호화 10진수 표현 체계라고도 함)
- ^ Petherick, Edward John; Hopkins, A. J. (1958). Some Recently Developed Digital Devices for Encoding the Rotations of Shafts (Technical Note MS21). Farnborough, UK: Royal Aircraft Establishment (RAE).
- ^ a b 오브라이언, 조셉 A(5월 1956년)[1955-11-15, 1955-06-23]."반복 Decimal코드 아날로그 디지털 방식으로 Converters에".미국 전기 기술자의 Part1:통신 및 전자 거래.벨전화 연구소, 윕패니. 미국, 뉴저지, 미국 75(2):120–122. doi:10.1109/TCE.1956.6372498.ISSN 0097-2452.S2CID 51657314.종이 56-21..(3페이지를)(NB2020-05-18 Retrieved.이 논문은 1956-01-30 ~ 1956-02-03 미국 뉴욕 AIEE Winter General Meeting에서 발표하기 위해 준비되었습니다.)
- ^ a b 톰킨스 하워드 E.[1956-07-16](9월 1956년)."Unit-Distance Binary-Decimal 코드 Two-Track Commutation에".전자 컴퓨터에 IRE 거래.대응.무어 학교 전기 공학의, 펜실베니아 대학, 필라델피아, 펜실베니아 주, 벤튼. EC-5(3):139.doi:10.1109/TEC.1956.5219934.ISSN 0367-9950..(1페이지)2020-05-18 Retrieved
- ^ Lippel, Bernhard (December 1955). "A Decimal Code for Analog-to-Digital Conversion". IRE Transactions on Electronic Computers. EC-4 (4): 158–159. doi:10.1109/TEC.1955.5219487. ISSN 0367-9950. (2페이지)
- ^ a b c 서스킨드, 알프레드 Kriss, 워드, 존 어윈[1957년, 1956년](1958-03-28)."III.F.Unit-Distance 코드/VI.E.2. 이진 Codes" Reflected.매사추세츠 주 캠브리지 미국에서. 서스킨드, 알프레드 Kriss(교육.)에서 쓰여진.Analog-Digital 변환 기법을 참고.기술 책 과학과 공학과에.제1권(3판).미국 뉴욕:기술 프레스는 매사추세츠 공과 대학의 존인 윌리의&Sons, Inc./채프먼&홀, 회사를 대신하여 서명함. 3-7–3-8[3-7], 3-10–3-16[3-13–3-16], 6-65–6-60[6-60].(x+416+2 페이지)(NB다.이 책의 내용은 1956년과 1957년에 개최된 특별 여름 프로그램을 위해 MIT 전기공학부의 서보 기계 연구소의 직원들에 의해 작성되었습니다.서스킨드가 실제로 그의 작품에서 "읽기 타입 코드"로 제시한 코드는 여기서 코드 타입 II로 보여지는 반면 타입 I 코드는 대칭을 더 잘 설명하기 위해 교환된 가장 중요한 두 개의 비트 컬럼을 가진 작은 파생 코드이다.)
- ^ a b Yuen, Chun-Kwong (December 1977). "A New Representation for Decimal Numbers". IEEE Transactions on Computers. C-26 (12): 1286–1288. doi:10.1109/TC.1977.1674792. S2CID 40879271. Archived from the original on 2020-08-08. Retrieved 2020-08-08.
- ^ Lucal, Harold M. (December 1959). "Arithmetic Operations for Digital Computers Using a Modified Reflected Binary". IRE Transactions on Electronic Computers. EC-8 (4): 449–458. doi:10.1109/TEC.1959.5222057. ISSN 0367-9950. S2CID 206673385. (10페이지)
- ^ Dewar, Robert Berriedale Keith; Smosna, Matthew (1990). Microprocessors - A Programmer's View (1 ed.). Courant Institute, New York University, New York, USA: McGraw-Hill Publishing Company. p. 14. ISBN 0-07-016638-2. LCCN 89-77320. (183+462페이지)
- ^ "Chapter 8: Decimal Instructions". IBM System/370 Principles of Operation. IBM. March 1980.
- ^ "Chapter 3: Data Representation". PDP-11 Architecture Handbook. Digital Equipment Corporation. 1983.
- ^ a b VAX-11 Architecture Handbook. Digital Equipment Corporation. 1985.
- ^ "ILE RPG Reference".
- ^ IBM BM 1401/1440/1460/1410/7010 BCD 주문 문자 코드 차트[영구 데드링크]
- ^ http://publib.boulder.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.iceg200%2Fenf.htm[영구 데드링크]
- ^ "4.7 BCD and packed BCD integers". Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 1: Basic Architecture (PDF). Version 072. Vol. 1. Intel Corporation. 2020-05-27 [1997]. pp. 3–2, 4-9–4-11 [4-10]. 253665-072US. Archived (PDF) from the original on 2020-08-06. Retrieved 2020-08-06. p. 4-10:
[…] When operating on BCD integers in general-purpose registers, the BCD values can be unpacked (one BCD digit per byte) or packed (two BCD digits per byte). The value of an unpacked BCD integer is the binary value of the low halfbyte (bits 0 through 3). The high half-byte (bits 4 through 7) can be any value during addition and subtraction, but must be zero during multiplication and division. Packed BCD integers allow two BCD digits to be contained in one byte. Here, the digit in the high half-byte is more significant than the digit in the low half-byte. […] When operating on BCD integers in x87 FPU data registers, BCD values are packed in an 80-bit format and referred to as decimal integers. In this format, the first 9 bytes hold 18 BCD digits, 2 digits per byte. The least-significant digit is contained in the lower half-byte of byte 0 and the most-significant digit is contained in the upper half-byte of byte 9. The most significant bit of byte 10 contains the sign bit (0 = positive and 1 = negative; bits 0 through 6 of byte 10 are don't care bits). Negative decimal integers are not stored in two's complement form; they are distinguished from positive decimal integers only by the sign bit. The range of decimal integers that can be encoded in this format is −1018 + 1 to 1018 − 1. The decimal integer format exists in memory only. When a decimal integer is loaded in an x87 FPU data register, it is automatically converted to the double-extended-precision floating-point format. All decimal integers are exactly representable in double extended-precision format. […]
[13] - ^ url=http://www.tigernt.com/onlineDoc/68000.pdf
- ^ Jones, Douglas W. (2015-11-25) [1999]. "BCD Arithmetic, a tutorial". Arithmetic Tutorials. Iowa City, Iowa, USA: The University of Iowa, Department of Computer Science. Retrieved 2016-01-03.
- ^ University of Alicante. "A Cordic-based Architecture for High Performance Decimal Calculations" (PDF). IEEE. Retrieved 2015-08-15.
- ^ "Decimal CORDIC Rotation based on Selection by Rounding: Algorithm and Architecture" (PDF). British Computer Society. Retrieved 2015-08-14.
- ^ Zaks, Rodnay (1982). Programming the Z80 (3rd revised ed.). Sybex Inc. p. 108. ISBN 0-89588-094-6. LCCN 80-5468. ark:/13960/t4qk4vs4c. Retrieved 2022-01-08. (NB. Zilog Z80 DAA 명령어는 인텔 8080 DAA 명령과 세세한 부분까지 다릅니다.
- ^ Cloutier, Félix, ed. (2019-05-30). "DAA — Decimal Adjust AL after Addition". Archived from the original on 2022-01-16. Retrieved 2022-01-16. (NB. 인텔 64 및 IA-32 아키텍처 소프트웨어 개발자 매뉴얼에 근거합니다.)
- ^ Mathur, Aditya P. (1989). Introduction to Microprocessors (3 ed.). Tata McGraw-Hill Publishing Company Limited. ISBN 978-0-07-460222-5.
- ^ 3GPP TS 29.002: Mobile Application Part (MAP) specification (Technical report). 2013. sec. 17.7.8 Common data types.
- ^ "Signalling Protocols and Switching (SPS) Guidelines for using Abstract Syntax Notation One (ASN.1) in telecommunication application protocols" (PDF). p. 15.
- ^ "XOM Mobile Application Part (XMAP) Specification" (PDF). p. 93. Archived from the original (PDF) on 2015-02-21. Retrieved 2013-06-27.
- ^ "Archived copy" (PDF). www.se.ecu.edu.au. Archived from the original (PDF) on 2008-10-10. Retrieved 2022-05-22.
{{cite web}}
: CS1 maint: 제목으로 아카이브된 복사(링크) - ^ MC6818 데이터 시트
- ^ Gottschalk v. Benson, 409 U.S. 63, 72 (1972)
추가 정보
- Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. p. xii. ISBN 0-201-14460-3. LCCN 77-90165. Retrieved 2016-05-22. [14]
- Richards, Richard Kohler (1955). Arithmetic Operations in Digital Computers. New York, USA: van Nostrand. pp. 397–.
- Schmid, Hermann (1974). Decimal Computation (1 ed.). Binghamton, New York, USA: John Wiley & Sons. ISBN 0-471-76180-X. 및 (NB).적어도 일부 Krieger 전재판은 115~146페이지에 결함이 있는 오식자였다.)
- Massalin, 헨리(10월 1987년).카츠, 랜디(교육.)."Superoptimizer:A이 막대에서 가장 작은 프로그램의"(PDF).제2차 국제 회의 건축 지원에 관한 프로그래밍 언어 및 운전 시스템 ACMSIGOPS는 운영 시스템 리뷰를 위해서 회보. 21(4):122–126. doi:10.1145/36204.36194.아이 에스비엔 0-8186-0805-6.그 2017-07-04에 원래에서Archived(PDF)..(또한:ACMSIGPLAN Notices, Vol22#10, IEEE컴퓨터 학회 프레스#87CH2440-6, 10월 1987년)2012-04-25 Retrieved.
- "GNU Superoptimizer". HP-UX.
- Shirazi, Behrooz; Yun, David Y. Y.; Zhang, Chang N. (March 1988). VLSI designs for redundant binary-coded decimal addition. IEEE Seventh Annual International Phoenix Conference on Computers and Communications, 1988. IEEE. pp. 52–56.
- Brown; Vranesic (2003). Fundamentals of Digital Logic.
- Thapliyal, Himanshu; Arabnia, Hamid R. (November 2006). Modified Carry Look Ahead BCD Adder With CMOS and Reversible Logic Implementation. Proceedings of the 2006 International Conference on Computer Design (CDES'06). CSREA Press. pp. 64–69. ISBN 1-60132-009-4.
- Kaivani, A.; Alhosseini, A. Zaker; Gorgin, S.; Fazlali, M. (December 2006). Reversible Implementation of Densely-Packed-Decimal Converter to and from Binary-Coded-Decimal Format Using in IEEE-754R. 9th International Conference on Information Technology (ICIT'06). IEEE. pp. 273–276.
- Cowlishaw, Mike F. (2009) [2002, 2008]. "Bibliography of material on Decimal Arithmetic – by category". General Decimal Arithmetic. IBM. Retrieved 2016-01-02.
외부 링크
- Cowlishaw, Mike F. (2014) [2000]. "A Summary of Chen-Ho Decimal Data encoding". General Decimal Arithmetic. IBM. Retrieved 2016-01-02.
- Cowlishaw, Mike F. (2007) [2000]. "A Summary of Densely Packed Decimal encoding". General Decimal Arithmetic. IBM. Retrieved 2016-01-02.
- BCD를 10진수, 2진수 및 16진수로 변환하거나 그 반대로 변환합니다.
- Java용 BCD