Lấy cảm hứng từ sự phổ biến gần đây của nandgame trên TNB, và thử thách trước đây của riêng tôi .
Lý lịch
Số thập phân dày đặc (DPD) là một cách hiệu quả để lưu trữ hiệu quả các chữ số thập phân ở dạng nhị phân. Nó lưu trữ ba chữ số thập phân (000 đến 999) trong 10 bit, hiệu quả hơn nhiều so với BCD ngây thơ (lưu trữ một chữ số trong 4 bit).
Bảng chuyển đổi
DPD được thiết kế để dễ dàng chuyển đổi giữa các bit và chữ số bằng cách khớp mẫu đơn giản từ trên xuống dưới. Mỗi mẫu bit xác định có bao nhiêu chữ số cao (8-9) số đó, vị trí của chúng và cách di chuyển các bit để tạo thành biểu diễn thập phân.
Sau đây là bảng chuyển đổi từ 10 bit DPD thành ba chữ số thập phân. Mỗi chữ số thập phân được biểu diễn dưới dạng nhị phân 4 bit (BCD). Cả hai bên được viết từ trái sang phải từ chữ số có nghĩa nhất đến ít nhất.
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)
Ký hiệu
- Các chữ thường
a
đểi
là các bit được sao chép vào các đại diện thập phân. 0
và1
là các bit chính xác trong các mẫu bit đầu vào hoặc đầu ra.x
bit được bỏ qua trong chuyển đổi.
Bài tập
Xây dựng một mạch logic bằng cách sử dụng cổng NAND hai đầu vào để chuyển đổi 10 bit DPD thành 12 bit BCD.
Ví dụ
Các bit được nhấn mạnh là các bit khớp mẫu.
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
^ ^ ^ ^ ^
Ghi điểm & tiêu chí chiến thắng
Điểm số là số lượng cổng NAND hai đầu vào được sử dụng trong mạch của bạn. Điểm thấp nhất sẽ thắng.
Bạn có thể xác định các thành phần nhỏ theo các cổng NAND hai đầu vào, sau đó sử dụng chúng trong công trình cuối cùng của bạn. Nếu một thành phần X
bao gồm N
các cổng NAND hai đầu vào, mỗi lần sử dụng X
sẽ thêm N
vào điểm số của bạn. Đối với các cổng logic cơ bản, điều này có nghĩa là:
- KHÔNG: +1
- 2 đầu vào VÀ: +2
- 2 đầu vào HOẶC: +3
- XOR 2 đầu vào: +4
a
để i
có ý nghĩa và quá trình chuyển đổi. Trải qua các bước, thay vì chỉ hiển thị các ví dụ và hy vọng chúng tôi hiểu từ đó.