Densely packed decimal (original) (raw)
Densely packed decimal (DPD) is an efficient method for binary encoding decimal digits. The traditional system of binary encoding for decimal digits, known as binary-coded decimal (BCD), uses four bits to encode each digit, resulting in significant wastage of binary data bandwidth (since four bits can store 16 states and are being used to store only 10), even when using packed BCD. Densely packed decimal is a more efficient code that packs three digits into ten bits using a scheme that allows compression from, or expansion to, BCD with only two or three hardware gate delays.
Property | Value |
---|---|
dbo:abstract | Densely packed decimal (DPD) is an efficient method for binary encoding decimal digits. The traditional system of binary encoding for decimal digits, known as binary-coded decimal (BCD), uses four bits to encode each digit, resulting in significant wastage of binary data bandwidth (since four bits can store 16 states and are being used to store only 10), even when using packed BCD. Densely packed decimal is a more efficient code that packs three digits into ten bits using a scheme that allows compression from, or expansion to, BCD with only two or three hardware gate delays. The densely packed decimal encoding is a refinement of Chen–Ho encoding; it gives the same compression and speed advantages, but the particular arrangement of bits used confers additional advantages: * Compression of one or two digits (into the optimal four or seven bits respectively) is achieved as a subset of the three-digit encoding. This means that arbitrary numbers of decimal digits (not only multiples of three digits) can be encoded efficiently. For example, 38 = 12 × 3 + 2 decimal digits can be encoded in 12 × 10 + 7 = 127 bits – that is, 12 sets of three decimal digits can be encoded using 12 sets of ten binary bits and the remaining two decimal digits can be encoded using a further seven binary bits. * The subset encoding mentioned above is simply the rightmost bits of the standard three-digit encoding; the encoded value can be widened simply by adding leading 0 bits. * All seven-bit BCD numbers (0 through 79) are encoded identically by DPD. This makes conversions of common small numbers trivial. (This must break down at 80, because that requires eight bits for BCD, but the above property requires that the DPD encoding must fit into seven bits.) * The low-order bit of each digit is copied unmodified. Thus, the non-trivial portion of the encoding can be considered a conversion from three base-5 digits to seven binary bits. Further, digit-wise logical values (in which each digit is either 0 or 1) can be manipulated directly without any encoding or decoding being necessary. (en) Densely packed decimal (DPD)は、二進化十進表現の一種で、情報量と計算量の両方で効率的な手法として提案されたものである。 十進法の1桁を二進法4ビットで表現する伝統的な方法であるBCDは、4ビットで表現可能な16個の状態の内10個のみしか使っておらず、無駄が多い。DPDは3桁(1000状態)を10ビット(1024状態の表現が可能)に押し込めるためより効率的であり、またこの圧縮にかかるハードウェアのコストはわずか2、3ゲートの遅延のみである。 DPDはを洗練させたものである。圧縮率と速度の利点はそのままに、加えて特徴的なビットの配置により以下の利点がある。 * 1桁や2桁からの変換も同じ符号化方式のサブセットで可能(それぞれ4ビットと7ビット)。これはすなわち3の倍数桁でない任意の桁数の十進表現を効率的に符号化できるということである。 * 上で述べたサブセットの符号化は単純に下位ビットを取り出すだけである。逆に言えば符号化された値の上位に0を埋めるだけで標準的な10ビットの符号に変換できる。 * 7ビットの二進化十進数(0-79)はDPDでも同一のビットパターンになる。これは頻出する小さな値の変換を簡単にする。(これは80で破綻する。なぜなら上記の性質のために十進で2桁の数は7ビットに収める必要があるためである) * 各桁の最下位ビットは無変換で常に同一の位置へコピーされ、他のビットへの影響もない。つまりこの符号化は3桁の5進数から7桁の2進数への変換と解釈できる。 * 各桁の最上位ビット以外は、無変換でコピーされるか、消える。このため複雑な演算は必要ない。 (ja) |
dbo:wikiPageExternalLink | http://home.kpn.nl/jhm.bonten/computers/bitsandbytes/wordsizes/ibmpde.htm%23dense https://web.archive.org/web/20070824053303/http:/home.hetnet.nl/mr_1/81/jhm.bonten/computers/bitsandbytes/wordsizes/ibmpde.htm%23dense https://web.archive.org/web/20180703002320/http:/www.quadibloc.com/comp/cp020301.htm https://web.archive.org/web/20180711143550/http:/home.kpn.nl/jhm.bonten/computers/bitsandbytes/wordsizes/ibmpde.htm%23dense https://web.archive.org/web/20180719001335/https:/patentimages.storage.googleapis.com/e1/0c/a1/69981125812742/EP1231716A2.pdf https://web.archive.org/web/20180719054809/https:/patentimages.storage.googleapis.com/ba/25/b6/b0ad365c086f5f/EP1231716B1.pdf https://web.archive.org/web/20180719215823/https:/patentimages.storage.googleapis.com/b4/27/a6/f4ef138a335192/US6525679.pdf http://www.freepatentsonline.com/6525679.html https://patents.google.com/patent/EP1231716A2/en https://patents.google.com/patent/US6525679B1 http://www.quadibloc.com/comp/cp020301.htm |
dbo:wikiPageID | 4036694 (xsd:integer) |
dbo:wikiPageLength | 10664 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1116608102 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Hardware_gate_delay dbr:Binary-coded_decimal dbr:Decimal dbr:Decimal128_floating-point_format dbr:Decimal32_floating-point_format dbr:Decimal64_floating-point_format dbr:DEC_RADIX_50 dbr:Logical_value dbr:DEC_MOD40 dbr:Floating_point dbr:Prefix_code dbc:2002_in_science dbc:Binary_arithmetic dbc:2002_introductions dbr:Chen–Ho_encoding dbr:Binary_data dbr:Binary_integer_decimal dbr:Hertz_encoding dbr:IBM_SQUOZE dbr:Don't_care dbr:IEEE_754-2008 dbr:Mike_F._Cowlishaw dbr:Packed_BCD dbr:ISO/IEC/IEEE_60559:2011 dbr:International_Business_Machines_Corporation dbr:Binary_coding dbr:Irving_T._Ho dbr:Tien_Chi_Chen |
dbp:cs1Dates | y (en) |
dbp:date | May 2019 (en) |
dbp:wikiPageUsesTemplate | dbt:About dbt:Cite_web dbt:Reflist dbt:Short_description dbt:Use_dmy_dates dbt:Use_list-defined_references dbt:Densely_packed_decimal |
dct:subject | dbc:2002_in_science dbc:Binary_arithmetic dbc:2002_introductions |
gold:hypernym | dbr:Method |
rdf:type | dbo:Software |
rdfs:comment | Densely packed decimal (DPD) is an efficient method for binary encoding decimal digits. The traditional system of binary encoding for decimal digits, known as binary-coded decimal (BCD), uses four bits to encode each digit, resulting in significant wastage of binary data bandwidth (since four bits can store 16 states and are being used to store only 10), even when using packed BCD. Densely packed decimal is a more efficient code that packs three digits into ten bits using a scheme that allows compression from, or expansion to, BCD with only two or three hardware gate delays. (en) Densely packed decimal (DPD)は、二進化十進表現の一種で、情報量と計算量の両方で効率的な手法として提案されたものである。 十進法の1桁を二進法4ビットで表現する伝統的な方法であるBCDは、4ビットで表現可能な16個の状態の内10個のみしか使っておらず、無駄が多い。DPDは3桁(1000状態)を10ビット(1024状態の表現が可能)に押し込めるためより効率的であり、またこの圧縮にかかるハードウェアのコストはわずか2、3ゲートの遅延のみである。 DPDはを洗練させたものである。圧縮率と速度の利点はそのままに、加えて特徴的なビットの配置により以下の利点がある。 (ja) |
rdfs:label | Kódování DPD (cs) Densely packed decimal (en) Densely packed decimal (ja) |
owl:sameAs | freebase:Densely packed decimal wikidata:Densely packed decimal dbpedia-cs:Densely packed decimal dbpedia-ja:Densely packed decimal https://global.dbpedia.org/id/4iyGs |
prov:wasDerivedFrom | wikipedia-en:Densely_packed_decimal?oldid=1116608102&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Densely_packed_decimal |
is dbo:knownFor of | dbr:Mike_Cowlishaw |
is dbo:wikiPageDisambiguates of | dbr:DPD |
is dbo:wikiPageRedirects of | dbr:BCD_to_DPD_compression dbr:Decimal_encoding_(IEEE_754) dbr:Decimal_encoding_(decimal_floating_point) dbr:DPD_code dbr:DPD_decode dbr:DPD_decoder dbr:DPD_decoding dbr:DPD_encode dbr:DPD_encoder dbr:DPD_encoding dbr:DPD_format dbr:DPD_mechanism dbr:DPD_to_BCD_expansion dbr:Densely_Packed_Decimal dbr:Densely_Packed_Decimal_Encoding dbr:Densely_packed_decimal_encoding |
is dbo:wikiPageWikiLink of | dbr:BCD_to_DPD_compression dbr:Binary-coded_decimal dbr:Decimal dbr:Decimal128_floating-point_format dbr:Decimal32_floating-point_format dbr:Decimal64_floating-point_format dbr:DEC_RADIX_50 dbr:Decimal_floating_point dbr:Decimal_encoding_(IEEE_754) dbr:Decimal_encoding_(decimal_floating_point) dbr:DPD dbr:DPD_code dbr:DPD_decode dbr:DPD_decoder dbr:DPD_decoding dbr:DPD_encode dbr:DPD_encoder dbr:DPD_encoding dbr:DPD_format dbr:DPD_mechanism dbr:DPD_to_BCD_expansion dbr:Densely_Packed_Decimal dbr:Densely_Packed_Decimal_Encoding dbr:Densely_packed_decimal_encoding dbr:Mike_Cowlishaw dbr:Chen–Ho_encoding dbr:Binary_integer_decimal dbr:IEEE_754 dbr:SQUOZE |
is foaf:primaryTopic of | wikipedia-en:Densely_packed_decimal |