Dalam komputasi dan elektronik, sistem desimal kode-biner (BCD) (kadang-kadang disebut kode-biner alam desimal, NBCD) adalah sebuah penyandian untuk desimal angka di mana setiap digit diwakili diwakili oleh sendiri biner urutan. Kebajikan utamanya adalah bahwa hal itu itu memungkinkan untuk konversi mudah untuk mencetak angka desimal atau layar, dan memungkinkan lebih cepat perhitungan desimal. desimal. Kekurangannya adalah peningkatan kecil kompleksitas rangkaian yang yang diperlukan untuk melaksanakan operasi matematika. Terkompresi BCD juga yang relatif tidak efisien pengkodean-itu menempati ruang yang lebih luas daripada representasi biner murni. Dalam BCD, sebuah digit biasanya diwakili oleh empat bit yang, pada umumnya, mewakili nilai-nilai / angka angka / karakter 0-9. Bit kombinasi kombinasi lain kadang-kadang digunakan untuk sebuah tanda atau indikasi indikasi lain. Meskipun tidak terkompresi BCD tidak seperti yang banyak d igunakan seperti dulu, desimal fixed-point dan floating-point penting dan masih terus digunakan dalam finansial, komersial, dan industri komputasi. [1] R ecent ecent floating-point desimal menggunakan basis representasi-10 eksponen, t etapi tidak BCD encodings. Current hardware hardware implementasi, bagaimanapun, mengubah desimal dikompresi encodings untuk BCD internal internal sebelum melakukan melakukan perhitungan. Implementasi software software n biasanya menggunakan aritmatika desimal BCD atau 10 lainnya dasar, tergantung pada operasi.
Isi [hide] y y y
y
y y y y y y
y y
y
1 Dasar 2 BCD dalam Elektronika 3 Packed BCD Fixed-point 3,1 dikemas desimal o Higher-kerapatan 3,2 encodings o 4 dikategorikan desimal o EBCDIC dikategorikan 4,1 tabel konversi desimal 4,2 dikategorikan Fixed-titik desimal o 5 IBM dan BCD 6 Tambahan dengan BCD 7 Pengurangan dengan BCD 8 Latar Belakang 9 Hukum sejarah 10 Perbandingan dengan biner murni 10,1 Keuntungan o o 10,2 Kekurangan 11 Aplikasi 12 Representasi variasi o Signed variasi 12,1 13 Alternatif encodings
y y y
14 Lihat juga 15 Referensi 16 Pranala luar
Dasar-dasar Untuk BCD-mengkodekan angka desimal menggunakan pengkodean umum, masing-masing digit desimal disimpan dalam empat-bit menggigit. Desimal: 0 1 2 3 4 5 6 7 8 9 BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Dengan demikian, BCD pengkodean untuk nomor 127 akan menjadi: 0001 0010 0111
Karena sebagian besar komputer menyimpan data dalam delapan-bit byte, ada dua cara umum untuk menyimpan empat-bit BCD digit dalam byte tersebut: y
y
setiap digit disimpan dalam satu menggigit dari satu byte, dengan menggigit lain yang diatur ke semua nol, semua yang (seperti dalam EBCDIC code), atau 0.011 (seperti dalam ASCII code) dua digit akan disimpan dalam setiap byte.
Berbeda dikodekan binary-angka, BCD-nomor dikodekan dengan mudah dapat ditampilkan oleh pemetaan masing-masing camilan karakter yang berbeda. Mengubah dikodekan binary-nomor ke desimal untuk ditampilkan adalah jauh lebih sulit, karena hal ini umumnya melibatkan perkalian bilangan bulat atau membagi operasi. BCD juga menghindari masalah dimana pecahan yang dapat diwakili tepat dalam desimal tidak dapat di biner (misalnya satu per sepuluh).
BCD dalam Elektronika BCD sangat umum dalam sistem elektronik di mana sebua h nilai numerik untuk ditampilkan, terutama dalam sistem yang terdiri semata-mata logika digital, dan t idak mengandung sebuah mikroprosesor. Dengan memanfaatkan BCD, manipulasi data numerik untuk ditampilkan dapat sangat disederhanakan dengan memperlakukan setiap digit tunggal terpisah sub-sirkuit. Pertandingan ini jauh lebih dekat layar realitas fisik hardware-seorang desainer dapat memilih untuk menggunakan serangkaian identik terpisah 7-segmen display untuk membangun sebuah sirkuit metering, misalnya. Jika kuantitas numerik disimpan dan dimanipulasi sebagai biner murni, seperti antarmuka untuk menampilkan kompleks membutuhkan sirkuit. Oleh karena itu, dalam kasus di mana perhitungan relatif sederhana seluruh bekerja dengan BCD dapat menyebabkan sistem keseluruhan yang lebih sederhana daripada mengkonversi ke biner.
Argumen yang sama berlaku ketika hardware jenis ini menggunakan mikrokontroler atau tertanam prosesor kecil lainnya. Seringkali, hasil kode yang lebih kecil ketika angka-angka yang mewakili internal dalam format BCD, sejak konversi dari atau ke representasi biner bisa mahal pada prosesor terbatas seperti itu. Untuk aplikasi ini, beberapa fitur prosesor kecil aritmatika BCD mode, yang membantu saat menulis rutinitas yang memanipulasi jumlah BCD.
Packed
BCD
Sebuah variasi banyak digunakan dua angka-per-byte encoding disebut dikemas BCD (atau hanya dikemas desimal). Semua byte atas multi-byte kata plus atas empat bit (nibble) dari byte terendah digunakan untuk menyimpan bilangan desimal. Bawah empat bit dari byte terendah digunakan sebagai tanda bendera. Sebagai contoh, sebuah 32 bit kata berisi 4 byte atau 8 camilan. Packed BCD menggunakan 7 atas sambutan untuk menyimpan bilangan bulat dari 7digit nilai desimal dan menggunakan menggigit terendah untuk menunjukkan tanda bilangan tersebut. Tanda standar nilai-nilai 1100 (hex C) untuk positif (+) dan 1101 (D) untuk negatif (-). Konvensi ini berasal dari singkatan untuk istilah akuntansi (Kredit dan Debet), sebagai desimal [Rujukan?] pengkodean dikemas secara luas digunakan dalam sistem akuntansi. Tanda-tanda lain diperbolehkan 1010 (A) dan 1.110 (E) untuk positif dan 1011 (B) negatif. Beberapa implementasi juga memberikan nilai-nilai BCD ditandatangani dengan tanda menggigit dari 1111 (F). Dalam dikemas BCD, jumlah 127 ini diwakili oleh 0001 0010 0111 1100 (127C) dan 127 diwakili oleh 0001 0010 0111 1101 (127D). BCD Tanda 842 Digit Tanda 1
Catatan
101 0 Sebuah
+
B
101 1
--
C
110 0
+
Dipilih
D
110 1
--
Dipilih
E
111 0
+
F
111 1
+
Unsigned
Tidak peduli berapa banyak byte yang luas kata ini, selalu ada bahkan jumlah byte camilan karena masing-masing memiliki dua dari mereka. Oleh karena itu, sebuah kata darin byte dapat
berisi sampai dengan (2 n) -1 angka desimal, yang selalu ganjil digit. Sebuah angka desimal dengan digit memerlukan ½ d (d +1) byte ruang penyimpanan. Sebagai contoh, empat-byte (32bit) kata dapat menahan tujuh angka desimal ditambah dengan tanda, dan dapat mewakili nilai-nilai mulai dari ± 9.999.999. Jadi jumlah -1.234.567 adalah 7 digit lebar dan dikodekan sebagai: 0001 0010 0011 0100 0101 0110 0111 1101 1 2 3 4 5 6 7 --
(Perhatikan bahwa, seperti karakter string, byte pertama desimal yang penuh sesak - dengan dua digit paling penting - yang biasanya disimpan dalam alamat terendah dalam memori, independen dari endianness dari mesin). Sebaliknya, empat-byte biner komplemen dua itu dapat mewakili nilai integer dari -2147483648 ke 2147483647. 1
Sementara BCD dikemas tidak membuat penyimpanan penggunaan optimal (sekitar / 6 dari memori yang digunakan adalah sia-sia), konversi ke ASCII, EBCDIC, atau berbagai encod ing dari Unicode masih sepele, karena tidak ada operasi aritmatika diperlukan. Persyaratan penyimpanan ekstra biasanya diimbangi oleh kebutuhan atas akurasi yang fixed-point menyediakan aritmatika desimal. Kemasan padat dari BCD ada yang menghindari hukuman penyimpanan dan juga tidak membutuhkan operasi aritmatika konversi umum.
Fixed-titik desimal dikemas Fixed-point angka desimal yang didukung oleh beberapa bahasa pemrograman (seperti COBOL dan PL / I), dan memberikan titik desimal implisit di depan salah satu digit. Sebagai contoh, sebuah nilai desimal dikodekan dikemas dengan byte 12 34 56 7C mewakili nilai fixed-point ketika tersirat +1,234.567 titik desimal terletak antara ke-4 dan ke-5 digit. 12 34 56 7C 12 34,56 7 +
Tinggi-kerapatan encodings Jika angka desimal memerlukan empat bit, kemudian tiga angka desimal memerlukan 12 bit. 10 3 Namun, sejak 2 (1.024) lebih besar dari 10 (1,000), jika tiga angka desimal dikodekan bersama-sama, hanya 10 bit yang diperlukan. Dua format dapat digunakan sepertiChen-Ho encoding dan padat Desimal. Yang terakhir memiliki keuntungan bahwa himpunan bagian dari pengkodean menyandikan dua digit dalam optimal 7 bit dan satu digit dalam 4 bit, seperti dalam BCD biasa.
dikategorikan desimal
Beberapa implementasi (terutama IBM sistem mainframe) dikategorikan mendukung representasi angka desimal. Masing-masing digit desimal disimpan dalam satu byte, dengan empat bit rendah digit pengkodean dalam bentuk BCD. Atas empat bit, yang disebut "zona" bit, biasanya diatur ke nilai tetap sehingga byte memegang nilai karakter yang sesuai dengan angka. Sistem EBCDIC menggunakan nilai zona 1111 (hex F); ini menghasilkan byte dalam kisaran F0 untuk F9 (hex), yang merupakan EBCDIC kode untuk karakter "0" melalui "9". Demikian pula, ASCII menggunakan zona sistem nilai 0.011 (hex 3), memberikan kode karakter 30-39 (hex). Untuk menandatangani dikategorikan nilai desimal, yang pa ling kanan (paling signifikan) zona memegang tanda menggigit digit, yang merupakan seperangkat nilai yang sama yang digunakan untuk menandatangani dikemas angka desimal (lihat di atas). Jadi nilai desimal dikodekan dikategorikan sebagai byte hex F1 F2 D3 mewakili nilai desimal -123 d itandatangani: F1 F2 D3 1 2 -3
EBCDIC dikategorikan tabel konversi desimal BCD Digit 0+
EBCDIC Karakter {
\
(*)
(*)
Heksadesimal C0
A0
E0
C1
A1
E1
1+
A
2+
B
s
S
C2
A2
E2
3+
C
t
T
C3
A3
E3
4+
D
u
U
C4
A4
E4
5+
E
v
V
C5
A5
E5
6+
F
w
W
C6
A6
E6
7+
G
x
X
C7
A7
E7
8+
H
y
Y
C8
A8
E8
9+
I
z
Z
C9
A9
E9
D0
B0
0í
}
~
(*)
^
(*)
1í
J
D1
B1
2í
K
D2
B2
3í
L
D3
B3
4í
M
D4
B4
5í
N
D5
B5
6í
O
D6
B6
7í
P
D7
B7
8í
Q
D8
B8
9í
R
D9
B9
(*) C atatan: karakt er ini bervaria si, t ergantung pada karakt er lokal halaman kod e.
Fixed-titik desimal dikategorikan Beberapa bahasa (seperti COBOL dan PL / I) secara langsung mendukung dikatego rikan fixed point nilai desimal, menetapkan titik desimal yang tersirat di beberapa lokasi antara desimal digit angka. Misalnya, diberi enam byte dikategorikan masuk nilai desimal dengan titik desimal yang tersirat di sebelah kanan digit keempat, para hex byte F1 F2 F7 F9 F5 C0 mewakili nilai +1,279.50: F1 F2 F7 F9 F5 C0 1 2 7 9.
5 +0
IBM dan BCD IBM menggunakan istilah kode-biner desimal dan BCD untuk 6-bit alphameric kode yang mewakili angka, huruf besar dan karakter khusus. Beberapa variasialphameric s BCD digunakan dalam komputer IBM yang paling awal, termasuk IBM 1620, IBM seri 1400, dan non-Desimal Arsitektur anggota 700/7000 IBM seri. Posisi bit dalam BCD alphameric s biasanya label B , A, 8, 4, 2 dan 1. Untuk pengkodean angka, B dan A adalah nol. Huruf A itu disandikan ( B , A, 1). Dalam IBM 1620, BCD alphameric s yang dikodekan menggunakan pasangan digit, dengan "zona" dalam bahkan angka dan "angka" dalam angka ganjil. Input / Output hardware terjemahan dikonversi antara pasangan digit internal dan eksternal 6-bit standar kode BCD. Dalam Arsitektur Desimal IBM 7.070, 7.072 IBM, dan IBM 7.074 alphameric s yang dikodekan dengan menggunakan pasangan digit (menggunakan dua-out-of-lima kode dalam angka, bukan BCD) dari 10 kata digit, dengan "zona" dalam meninggalkan angka dan "digit" angka yang benar. Input / Output hardware terjemahan dikonversi antara pasangan digit internal dan eksternal enam-bit standar kode BCD. Dengan diperkenalkannya System/360, IBM memperluas 6-bit BCD alphameric s untuk 8-bit EBCDIC, memungkinkan penambahan banyak karakter (misalnya, huruf kecil). Variabel panjang BCD Packed tipe data numerik juga dilaksanakan. Hari ini, data BCD masih banyak digunakan dalam prosesor IBM dan database, seperti IBM DB2, mainframe, dan Power6. Dalam produk ini, yang biasanya dikategorikan BCD BCD (seperti dalam EBCDIC atau ASCII), Packed BCD, atau 'murni' BCD encoding. Semua ini digunakan dalam register perangkat keras dan unit pengolahan, dan perangkat lunak.
Tambahan dengan BCD Hal ini dimungkinkan untuk melakukan penambahan dalam BCD dengan terlebih dahulu menambahkan dalam biner, dan kemudian konversi ke BCD sesudahnya. Konversi dari penjumlahan sederhana dari dua angka dapat dilakukan dengan menambahkan 6 (itu adalah, 16 10) ketika hasil mempunyai nilai lebih besar dari 9. Contoh:
1001 + 1000 = 10001 = 0001 0001 9 + 8 = 17 = 1 1
Dalam BCD, di sana dapat tidak ada nilai yang lebih besar dari 9 (1001) per menggigit. Untuk memperbaiki hal ini, 6 (0.110) ditambahkan ke jumlah itu untuk mendapatkan dua angka pertama yang benar: 0001 0001 + 0000 0110 = 0001 0111 1 1 + 0 6 = 1 7
yang memberikan dua camilan, 0.001 dan 0.111, yang sesuai dengan digit "1" dan "7". Ini menghasilkan "17" di BCD, yang merupakan hasil yang benar. Teknik ini dapat diperluas untuk menambahkan beberapa digit, dengan menambahkan dalam kelompok-kelompok dari kanan ke kiri, menyebarkan digit kedua sebagai membawa, selalu membandingkan hasil 5-bit dari masingmasing jumlah digit-pasangan hingga 9.
Pengurangan
dengan BCD
Pengurangan dilakukan dengan menambahkan sepuluh's complement dari kinurang. Mewakili tanda nomor dalam BCD, jumlah 0.000 digunakan untuk mewakili positif nomor, dan 1001 digunakan untuk mewakili negatif nomor. Sisanya 14 kombinasi tanda-tanda yang tidak valid. Untuk menggambarkan BCD menandatangani pengurangan, pertimbangkan masalah berikut: 357-432. Dalam ditandatangani BCD, 357 adalah 0000 0011 0101 0111. The sepuluh's melengkapi sebanyak 432 dapat diperoleh dengan mengambil sembilan's complement sebanyak 432, dan kemudian menambahkan satu. Jadi, 999-432 = 567, dan 567 + 1 = 568. Dengan sebelumnya 568 di BCD oleh kode tanda negatif, jumlah dapat diwakili -432. Jadi, dalam menandatangani 432 BCD adalah 1001 0101 0110 1000. Sekarang bahwa kedua angka tersebut diwakili dalam BCD ditandatangani, mereka dapat ditambahkan bersama-sama: 0000 0011 0101 0111 + 1001 0101 0110 1000 = 1001 1000 1011 1111 0 3 5 7 + 9 5 6 8 = 9 8 11 15
Sejak BCD adalah suatu bentuk representasi desimal, beberapa angka jumlah di at as tidak valid. Dalam hal entri yang tidak valid (semua BCD digit lebih besar daripada 1001) ada, cukup tambahkan 6 untuk menghasilkan sedikit membawa dan menyebabkan jumlah menjadi entri yang valid. Alasan untuk menambahkan 6 adalah karena ada 16 kemungkinan 4-bit BCD nilai 4 (sejak 2 = 16), tetapi hanya 10 nilai-nilai yang berlaku (0000 sampai 1001). Jadi, 6 menambahkan entri yang tidak valid hasil sebagai berikut: 1001 1000 1011 1111 + 0000 0000 0110 0110 = 1001 1001 0010 0101 9 8 11 15 0 0 6 6 9 9 2 5
Jadi, hasil dari pengurangan ini adalah 1001 1001 0010 0101 (-925). Untuk memeriksa jawaban, perhatikan bahwa bit pertama adalah bit tanda, yang negatif. Hal ini tampaknya benar, karena 357-432 harus menghasilkan angka negatif. Untuk memeriksa sisa digit, mewakili mereka dalam desimal. 1001 0010 0101 adalah 925. The sepuluh's complement dari 925 adalah 1.000-925 = 999-925 + 1 = 074 + 1 = 75, sehingga dihitung jawabannya adalah -75. Untuk memeriksa, melakukan pengurangan standar untuk memverifikasi bahwa 357-432 adalah -75. Perhatikan bahwa dalam hal bahwa ada nomor yang berbeda dari camilan yang ditambahkan bersama-sama (seperti 1.053-122), jumlah paling sedikit dengan jumlah digit pertama-tama harus diisi dengan angka nol sebelum mengambil sepuluh's melengkapi atau mengurangi. Jadi, dengan 1053 - 122, 122 akan harus terlebih dahulu direpresentasikan sebagai 0.122, dan sepuluh's complement dari 0.122 harus dihitung.
Latar Biner-desimal dikodekan skema yang dijelaskan da lam artikel ini adalah pengkodean pa ling umum, tetapi ada banyak orang lain. Metode di sini dapat disebut sebagai Binary-Kod e Wikipedia Desimal (S BC D) atau BC D 8.421. Dalam header untuk meja, '8 4 2 1 ', dll, th menunjukkan bobot setiap bit diperlihatkan; dicatat bahwa dalam 5 kolom dua dari berat negatif. Baik karakter ASCII dan EBCDIC kode-kode untuk digit adalah contoh-contoh dikategorikan BCD, dan juga d itunjukkan dalam tabel. Tabel berikut menunjukkan desimal angka dar i 0 sampai 9 di berbagai sistem BCD:
BCD 842 Digit 1
Kelebihan-3 atau Stibitz Kode
BCD 2 4 2 1 atau Aiken Kode
IBM 702 IBM BCD 705 8 4 -2 - 7080 IBM IBM 1 1401 8421
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
[Sunting] Sejarah Hukum Dalam kasus tahun 1972 Gottschalk v. Benson, Mahkamah Agung AS membatalkan keputusan pengadilan lebih rendah yang telah membiarkan hak paten untuk mengubah nomor dikodekan BCD biner pada komputer. Ini kasus yang penting dalam menentukan patentability dan algoritma perangkat lunak.
[Sunting] Perbandingan dengan biner murni [Sunting] Keuntungan y
y
y
y
y
Banyak non-nilai integral, seperti desimal 0,2, tempat yang memiliki nilai tak terhingga perwakilan di biner (.001100110011 ...) tapi memiliki tempat yang terbatas-nilai dalam kode-biner desimal (0,0010). Akibatnya sebuah sistem yang didasarkan pada kode-biner representasi desimal pecahan desimal menghindari kesalahan yang mewakili dan menghitung nilai-nilai tersebut. Penskalaan dengan faktor 10 (atau kekuatan 10) adalah sederhana ini bermanfaat bila faktor skala desimal diperlukan untuk mewakili kuantitas non-bilangan bulat (misalnya, dalam perhitungan keuangan) Pembulatan pada batas angka desimal lebih sederhana. Penjumlahan dan pengurangan dalam desimal tidak memerlukan pembulatan. Alignment dari dua angka desimal (misalnya 1,3 + 27,08) adalah sederhana, tepat, bergeser. Konversi ke bentuk karakter atau untuk ditampilkan (misalnya, untuk sebuah format berbasis teks seperti XML, atau untuk menggerakkan sinyal u ntuk tujuh-segmen display) adalah per-angka sederhana pemetaan, dan dapat dilakukan dalam linear (O (n )) waktu. Konversi dari murni biner melibatkan logika relatif kompleks yang mencakup angka, dan sejumlah besar waktu tidak linear algoritma konve rsi dikenal (lihat Sistem bilangan biner).
[Sunting] Kekurangan y
Beberapa operasi yang lebih kompleks untuk melaksanakan. Penambah memerlukan logika ekstra untuk membuat mereka untuk membungkus dan menghasilkan membawa lebih awal. 15-20% lebih banyak sirkuit yang diperlukan untuk menambahkan dibandingkan BCD biner murni. Perkalian memerlukan penggunaan algoritma yang agak
y
y
lebih kompleks daripada pergeseran-mask-add (a biner perkalian, memerlukan pergeseran biner dan menambah atau setara, per-angka atau kelompok digit diperlukan) Standar BCD memerlukan empat bit per digit, sekitar 20% lebih banyak ruang dari pengkodean biner. Ketika dikemas sehingga tiga digit dikodekan dalam sepuluh bit, overhead penyimpanan berkurang menjadi sekitar 0,34%, dengan mengorbankan penyandian yang unaligned dengan 8-bit byte Common batas-batas pada hardware yang telah ada, sehingga lebih lambat implementasi pada sistem ini . Implementasi praktis ada BCD biasanya lebih lambat daripada operasinya pada representasi biner, terutama pada embedded system, karena terbatasnya dukungan prosesor untuk operasi BCD asli.
[Sunting] Aplikasi The BIOS di banyak komputer pribadi menyimpan tanggal dan waktu pada BCD karena MC6818 real-time clock chip yang digunakan dalam asli PC IBM AT motherboard menyediakan waktu disandikan dalam BCD. Formulir ini mudah dikonversi menjadi ASCII untuk ditampilkan. [2] The Atari 8-bit keluarga BCD komputer yang d igunakan untuk mengimplementasikan algoritma floating-point. Yang MOS 6.502 prosesor yang digunakan memiliki modus BCD yang mempengaruhi penambahan dan pengurangan instruksi.
[Sunting] Representasi variasi Berbagai implementasi BCD ada yang mempekerjakan representasi bagi nomor-nomor lain. Programmable kalkulator diproduksi oleh Texas Instruments, Hewlett-Packard, dan lain-lain biasanya menggunakan floating-point format BCD, biasanya dengan dua atau tiga digit untuk (desimal) eksponen. Bit ekstra digit tanda dapat digunakan untuk menunjukkan nilai numerik khusus, seperti tak terhingga, underflow / overflow, dan error (layar berkedip).
[Sunting] Signed variasi Diisi nilai desimal dapat diwakili dalam beberapa cara. The COBOL bahasa pemrograman, misalnya, mendukung total lima dikategorikan format desimal, masing-masing tanda pengkodean numerik dalam cara yang berbeda:
Tipe
Format
Unsigned
Tidak ada tanda menggigit
Signed trailing
Tanda menggigit dalam terakhir (paling
Contoh
F1 F2 F 3
F1 F2 C 3
(kanonik format)
penting) byte
Signed terkemuka
Tanda menggigit dalam pertama (paling penting) byte
Signed trailing terpisah
Terpisah byte karakter tanda ( '+' atau '' mengikuti digit bytes
F1 F2 F3 2B
Signed terkemuka terpisah
Terpisah byte karakter tanda ( '+' atau '' sebelum angka bytes
2B F1 F2 F3
C 1 F2 F3
[Sunting] Alternatif encodings Jika kesalahan dalam perhitungan representasi dan lebih penting daripada kecepatan konversi dari dan ke layar, sebuah representasi biner skala dapat digunakan, yang menyimpan nomor desimal biner-disandikan bilangan bulat dan d itandatangani dikodekan biner-desimal eksponen. -1. Sebagai contoh, 0,2 dapat digambarkan sebagai 2 × 10 Representasi ini memungkinkan cepat perkalian dan pembagian, tetapi mungkin memerlukan pergeseran dengan kekuatan 10 selama penambahan dan pengurangan untuk menyelaraskan titik desimal. Hal ini sesuai untuk aplikasi dengan jumlah tetap desimal yang tidak maka memerlukan penyesuaian ini-khususnya aplikasi keuanga n di mana 2 atau 4 digit setelah titik desimal biasanya cukup. Memang hal ini hampir satu bentuk titik aritmatika sejak posisi titik radix tersirat. Chen-Ho encoding memberikan transformasi untuk mengubah boolean kelompok-dikodekan tiga digit BCD ke dan dari 10-bit nilai-nilai yang dapat dikodekan dalam perangkat keras secara efisien hanya dengan 2 atau 3 gerbang penundaan. Desimal padat adalah skema yang sama yang digunakan untuk sebagian besar significand, kecuali memimpin angka, untuk satu dari dua alternatif encodings desimal yang ditentukan pada 754-2008 IEEE standar.
SANDI DIGITAL y y
View clicks
Posted May 31st, 2009 by blandonk y
Elektronika Digital
2.1. Binary Coded Decimal (BCD) Sandi BCD (desimal bersandi biner) adalah suatu sandi dengan masing-masing angka pada bilangan desimal disandikan satu demi satu ke dalam kelompok-kelompok angka biner. Sandi BCD yang paling umum disebut juga sandi 8421 karena 8421 adalah BCD yang paling populer. Tabel konversi dari bilangan desimal ke sandi BCD 8421 dapat dilihat pada Tabel 2.1. Tabel 2.1. Tabel konversi bilangan desimal ke 8421 desimal 8421 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 21 0010 0001 965 1001 0110 0101 dst «.