Terinspirasi oleh popularitas nandgame di TNB, dan tantangan saya sebelumnya .
Latar Belakang
Desimal padat dikemas (DPD) adalah cara untuk secara efisien menyimpan angka desimal dalam biner. Ini menyimpan tiga angka desimal (000 hingga 999) dalam 10 bit, yang jauh lebih efisien daripada BCD naif (yang menyimpan satu digit dalam 4 bit).
Tabel konversi
DPD dirancang untuk dengan mudah mengkonversi antara bit dan digit dengan pencocokan pola sederhana dari atas ke bawah. Setiap pola bit menentukan berapa banyak digit tinggi (8-9) yang dimiliki angka, di mana angka itu, dan cara memindahkan bit untuk membentuk representasi desimal.
Berikut ini adalah tabel konversi dari 10 bit DPD ke tiga angka desimal. Setiap digit desimal direpresentasikan sebagai biner 4-bit (BCD). Kedua belah pihak ditulis dari kiri ke kanan dari digit paling signifikan ke yang terkecil.
Bits => Decimal (Digit range)
a b c d e f 0 g h i => 0abc 0def 0ghi (0-7) (0-7) (0-7)
a b c d e f 1 0 0 i => 0abc 0def 100i (0–7) (0–7) (8–9)
a b c g h f 1 0 1 i => 0abc 100f 0ghi (0–7) (8–9) (0–7)
g h c d e f 1 1 0 i => 100c 0def 0ghi (8–9) (0–7) (0–7)
g h c 0 0 f 1 1 1 i => 100c 100f 0ghi (8–9) (8–9) (0–7)
d e c 0 1 f 1 1 1 i => 100c 0def 100i (8–9) (0–7) (8–9)
a b c 1 0 f 1 1 1 i => 0abc 100f 100i (0–7) (8–9) (8–9)
x x c 1 1 f 1 1 1 i => 100c 100f 100i (8–9) (8–9) (8–9)
Notasi
- Huruf kecil
a
untuki
bit yang disalin ke representasi desimal. 0
dan1
bit-bit yang tepat dalam pola bit input atau output.x
bit diabaikan dalam konversi.
Tugas
Bangun sirkuit logis menggunakan gerbang NAND dua-input untuk mengubah 10 bit DPD menjadi 12 bit BCD.
Contohnya
Bit yang ditekankan adalah bit yang cocok dengan pola.
DPD Decimal BCD
0 0 0 0 0 0 0 1 0 1 005 0000 0000 0101
^
0 0 0 1 1 0 0 0 1 1 063 0000 0110 0011
^
0 0 0 1 1 1 1 0 0 1 079 0000 0111 1001
^ ^ ^
0 0 0 0 0 1 1 0 1 0 090 0000 1001 0000
^ ^ ^
0 0 0 1 0 1 1 1 1 0 098 0000 1001 1000
^ ^ ^ ^ ^
1 0 1 0 1 1 1 0 1 0 592 0101 1001 0010
^ ^ ^
0 0 1 1 0 0 1 1 0 1 941 1001 0100 0001
^ ^ ^
1 1 0 0 1 1 1 1 1 1 879 1000 0111 1001
^ ^ ^ ^ ^
1 1 1 0 0 0 1 1 1 0 986 1001 1000 0110
^ ^ ^ ^ ^
0 0 1 1 1 1 1 1 1 1 999 1001 1001 1001
^ ^ ^ ^ ^
1 1 1 1 1 1 1 1 1 1 999 1001 1001 1001
^ ^ ^ ^ ^
Kriteria penilaian & menang
Skornya adalah jumlah gerbang NAND dua input yang digunakan di sirkuit Anda. Skor terendah menang.
Anda dapat mendefinisikan komponen kecil dalam hal gerbang NAND dua input, dan kemudian menggunakannya dalam konstruksi akhir Anda. Jika komponen X
menyertakan N
gerbang NAND dua input, setiap penggunaan X
menambah N
skor Anda. Untuk gerbang logika dasar, ini berarti:
- BUKAN: +1
- 2 input DAN: +2
- 2 input ATAU: +3
- 2-input XOR: +4
a
untuk i
mean dan proses konversi. Ikuti langkah-langkahnya, daripada hanya menunjukkan contoh dan berharap kita mengerti dari itu.