Menu
Latest
12 meetings · Prague, Jeju · 12–16 Oct
Reports
RAN1#126-bis · SA2#177

Glossary term · Other

BCD

Binary Coded Decimal

Other →

BCD is a binary encoding for decimal numbers where each digit is represented by a fixed number of bits, used in mobile networks for precise representation of identifiers like phone numbers and IMSIs in signaling and SIM data.

Introduced
Rel-6
Where
Radio Access Network › NG-RAN (5G)
Specifications
6 specs
BCD Description Purpose What changed Neighbours Specifications

Description

Binary Coded Decimal (BCD) is a method of encoding decimal numbers in a binary format. In its most common form, known as packed BCD or simply BCD, each decimal digit (0-9) is represented by its four-bit binary equivalent (0000 to 1001). For example, the decimal number 123 would be encoded as 0001 0010 0011 in BCD. This is distinct from pure binary representation, where the entire number is converted as a whole (123 becomes 01111011). In 3GPP specifications, BCD encoding is often applied to fields of variable length, where the number of digits is known or indicated separately. The encoding is typically left-aligned (most significant digit first) within an octet, and if the number of digits is odd, the last four bits of the final octet are often filled with a 'filler' value (e.g., 1111) to maintain octet alignment.

Within the 3GPP architecture, BCD is not a network function or protocol but a fundamental data representation scheme used across multiple layers and interfaces. It is specified in various technical specifications (TSs) for encoding specific information elements. For instance, in TS 24.008 (Core Network protocols), the Called Party BCD Number information element uses BCD to represent the dialed digits. In radio resource control (RRC) specifications like TS 25.331, TS 36.331, and TS 38.331, BCD is used for encoding system information blocks (SIBs) related to network and cell identities. Its role is to ensure a standardized, efficient, and error-resistant way to transmit numeric data between network nodes and user equipment.

The encoding process involves taking a string of decimal digits and converting each digit into its four-bit nibble. These nibbles are then concatenated and packed into octets. Decoding reverses this process. Key considerations include handling of odd digit counts, the representation of non-decimal characters (like '*' or '#'), which may have specific BCD encodings defined, and the order of digit transmission (most significant digit first). The simplicity and determinism of BCD make it suitable for storage on SIM/USIM cards (as defined in TS 31.101/121) for fields like the IMSI, where each digit of the IMSI is stored in BCD format, allowing for compact and precise retrieval.

Purpose & Motivation

BCD exists to solve the problem of accurately and efficiently representing decimal numbers in binary digital systems, particularly where human-readable numeric identifiers are critical. In telecommunications, identifiers like phone numbers (MSISDN), international mobile subscriber identities (IMSI), and various network codes are fundamentally decimal. A pure binary representation of the whole number can lead to complexities in parsing, display, and international number plan compatibility. BCD provides a direct, digit-by-digit mapping that preserves the original decimal structure unambiguously, facilitating easier processing, display, and interoperability between network elements from different vendors.

Historically, BCD encoding predates 3GPP and was widely used in early digital telephony and computing. Its adoption into 3GPP standards (from Release 6 onwards in the referenced specs) was driven by the need for backward compatibility and consistency with existing telecommunication practices, especially those inherited from GSM. It addresses the limitations of alternative encodings like ASCII, which would use more bits per digit (7 or 8), or pure binary, which requires conversion algorithms and can obscure the individual digits. For storage on limited-capacity SIM cards and for transmission in bandwidth-conscious signaling messages, BCD offers a compact and straightforward solution.

The motivation for its continued use across 3GPP releases, including 5G NR, is its reliability and simplicity. It eliminates ambiguity in number representation, which is crucial for routing calls, identifying subscribers, and broadcasting system information. By standardizing on BCD for specific numeric fields, 3GPP ensures that user equipment and network nodes from any manufacturer can correctly interpret these fundamental identifiers, maintaining the global interoperability that is a cornerstone of cellular networks.

What changed in its specifications

The latest release-to-release comparison of specifications that define BCD. Each summary describes the whole specification, not only this term.

TR 21.905Rel-17 → Rel-18

Rel-18 brings only minor changes to TS 21.905: 0 clauses changed, with no change attributed to a release feature.

Full comparison in TR 21.905 →
TS 25.331Rel-15 → Rel-16

Rel-16 added SR-VCC handover from NR to UTRAN, integrity protection activation, and key set storage. These were the largest feature overviews for TS 25.331.

Full comparison in TS 25.331 →

Evolution Across Releases

An overview written from the defining specifications, not a verified change history. For the exact text, open the specifications listed below.

Rel-6 Initial

Introduced as a standardized encoding format within multiple 3GPP specifications, including those for core network signaling (TS 24.008), radio resource control (TS 25.331), and SIM/USIM application toolkit (TS 31.121). It provided the initial architecture for representing decimal numbers like phone numbers and identifiers in a compact, unambiguous binary form for UMTS networks, ensuring interoperability with existing GSM practices.

Defining Specifications

3GPP specifications that define or reference BCD, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TR 21.905 vj20 3GPP Terminology and Definitions Rel-19 read
TS 25.331 vj01 UTRAN Radio Resource Control Protocol Rel-19 read
TS 27.007 vk00 AT Command Interface for Mobile Terminals Rel-20 read
TS 31.121 vj00 UICC Application Test Specification Rel-19 read
TS 36.331 vj40 E-UTRA Radio Resource Control (RRC) Protocol Rel-19 read
TS 38.331 vj40 NR Radio Resource Control (RRC) Rel-19 read