Чем отличается двоично-десятичный код от двоичного кода?
Чем отличается двоично-десятичный код от двоичного кода? Что значит "двоично-десятичный" код? Ведь там тоже только 0 и 1. И те же разряды. Ну например, число 8 в двоично-десятичном коде будет 1000. И в двоичном коде тоже 1000. Так чем же отличается двоично-десятичный код от двоичного кода?
Двоично-десятичный код представляет собой код, в котором каждая десятичная цифра представлена группой из четырех двоичных цифр. В двоичном коде каждая десятичная цифра представлена группой из восьми двоичных цифр. Таким образом, в двоично-десятичном коде число 8 будет представлено как 1000, а в двоичном коде оно будет представлено как 1000.
Если речь идет о кодировке BCD (binary-coded decimal), то разница становится заметна при сравнении двузначных чисел.
9 → BIN 1001 → BCD 1001
10 → BIN 1010 → BCD 0001 0000
11 → BIN 1011 → BCD 0001 0001
12 → BIN 1100 → BCD 0001 0010
Двоично-десятичный код этот тот же самый десятичный код, просто закодированный в двоичном виде. То есть кодируется не число в десятичный вид, а каждая цифра. Таким образом это и есть десятичный код, просто хранится в двоичном виде.
Зато 10 в двоичном будет 1010, а в двоично-десятичном - 10000. Тем и отличается.
Придумано это счастье было для облегчения перевода чисел в строковую форму для вывода на экран в условиях ограниченных ресурсов. Вместо того, чтобы крутить циклы, можно было тупо взять циферку по индексу, потом сдвинуть на 4 бита и повторить, что занимало меньше времени. А расчеты с двоично-десятичными цифрами были реализованы аппаратно и дополнительных ресурсов (ну почти) не требовали.