| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| reverseenengineering:2-система [2025/07/04 14:36] – [Преимущества десятичной позиционной системы] Lex | reverseenengineering:2-система [2025/07/04 14:47] (текущий) – [Преобразование дробных десятичных чисел в двоичные] Lex |
|---|
| ====== Десятичная система счисления ====== | ====== Двоичная система счисления ====== |
| |
| > Десятичная система счисления — позиционная система счисления по целочисленному основанию 10. Одна из наиболее распространённых систем. В ней используются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, называемые арабскими цифрами. Предполагается, что основание 10 связано с количеством пальцев на руках у человека. | > Двоичная система счисления — позиционная система счисления с основанием 2. Благодаря непосредственной реализации в цифровых электронных схемах на логических вентилях, двоичная система используется практически во всех современных компьютерах и прочих вычислительных электронных устройствах. |
| |
| > Один десятичный разряд называется децит (decit) (сокращение от decimal digit). | ===== Двоичная запись чисел ===== |
| |
| ===== Определение ===== | > В двоичной системе счисления числа записываются с помощью двух символов (0 и 1). Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 5(10), в двоичной 101(2). Иногда двоичное число обозначают префиксом 0b или символом & (амперсанд), например 0b101 или соответственно &101. |
| |
| > Один десятичный разряд в десятичной системе счисления (децит) иногда называют декадой. В цифровой электронике одному десятичному разряду десятичной системы счисления (дециту) соответствует один десятичный триггер. | > В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 101(2) произносится «один ноль один». |
| |
| ===== Двоично-десятичное кодирование ===== | ===== Преобразование чисел ===== |
| |
| > В двоичных компьютерах применяют двоично-десятичное кодирование десятичных цифр, при этом для одной двоично-десятичной цифры отводится четыре двоичных разряда (двоичная тетрада). Двоично-десятичные числа требуют большего количества битов для своего хранения. Так, четыре двоичных разряда имеют 16 состояний, и при двоично-десятичном кодировании 6 из 16 состояний двоичной тетрады не используются. | > Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2: |
| |
| ===== Сложение в десятичной системе счисления ===== | |
| |
| > Одноразрядное двухоперандное (двухаргументное) десятичное сложение является одной из 10 в 200-ой стемени бинарных (двухаргументных, двухоперандных, двухвходовых) десятичных логических функций с бинарным (двухразрядным) результатом, имеющей кроме собственного номера и собственное название словами: "одноразрядный десятичный полусумматор". | 1024 512 256 128 64 32 16 8 4 2 1 |
| |
| > Одноразрядное двухоперандное (двухаргументное) десятичное сложение можно также представить, как комбинацию (объединение двух) бинарных (двухаргументных, двухоперандных, двухвходовых) десятичных логических функцией с унарным (одноразрядным) результатом, имеющих кроме собственных номеров и собственные названия словами: "одноразрядное десятичное бинарное сложение по модулю 10" и "единица переноса в следующий разряд при одноразрядном десятичном бинарном сложении". | > Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой. |
| |
| > Номер функции "одноразрядное десятичное бинарное сложение по модулю 10" содержит все значения функции при переборе значений аргументов от 0 до 9 и относительно просто получается из таблицы десятичного полусумматора: 8765432109 7654321098 6543210987 5432109876 4321098765 3210987654 2109876543 1098765432 0987654321 9876543210 (пробелы отделяют по 10 знаков в номере функции). | ==== Преобразование двоичных чисел в десятичные: ==== |
| |
| > Номер функции "единица переноса в следующий разряд при одноразрядном десятичном бинарном сложении" содержит все значения функции при переборе значений аргументов от 0 до 9 и тоже относительно просто получается из таблицы десятичного полусумматора: 1111111110 1111111100 1111111000 1111110000 1111100000 1111000000 1110000000 1100000000 1000000000 0000000000 (пробелы отделяют по 10 знаков в номере функции). | > Допустим, дано двоичное число 110001(2). Для перевода в десятичное запишите его как сумму по разрядам следующим образом: |
| |
| ===== Умножение в десятичной системе счисления ===== | 1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 49 |
| |
| > Одноразрядное двухоперандное (двухаргументное) десятичное умножение является одной из 10 в 200-ой стемени бинарных (двухаргументных, двухоперандных, двухвходовых) десятичных логических функций с бинарным (двухразрядным) результатом, имеющей кроме собственного номера и собственное название словами: "одноразрядный десятичный умножитель". | > То же самое чуть иначе: |
| | |
| | 1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49 |
| | |
| | |
| | > Можно записать это в виде таблицы следующим образом: |
| | |
| | 512 256 128 64 32 16 8 4 2 1 |
| | 1 1 0 0 0 1 |
| | +32 +16 +0 +0 +0 +1 |
| | |
| | > Двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110001(2) равнозначно десятичному 49(10). |
| | |
| | ===== Преобразование дробных двоичных чисел в десятичные ===== |
| | |
| | > Нужно перевести число 1011010,101(2) в десятичную систему. Запишем это число следующим образом: |
| | |
| | 1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 + 1 * 2−1 + 0 * 2−2 + 1 * 2−3 = 90,625 |
| | |
| | > То же самое чуть иначе: |
| | |
| | 1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625 |
| | |
| | > Или по таблице: |
| | |
| | 64 32 16 8 4 2 1 0.5 0.25 0.125 |
| | 1 0 1 1 0 1 0 , 1 0 1 |
| | +64 +0 +16 +8 +0 +2 +0 +0.5 +0 +0.125 |
| | |
| | ===== Преобразование методом Горнера ===== |
| | |
| | > Для того, чтобы преобразовывать числа из двоичной в десятичную систему данным методом, надо суммировать цифры слева направо, умножая ранее полученный результат на основу системы (в данном случае 2). Методом Горнера обычно переводят из двоичной в десятичную систему. Обратная операция затруднительна, так как требует навыков сложения и умножения в двоичной системе счисления. |
| | |
| | ===== Преобразование дробных десятичных чисел в двоичные ===== |
| | |
| | > Если в исходном числе есть целая часть, то она преобразуется отдельно от дробной. Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму: |
| | |
| | * Дробь умножается на основание двоичной системы счисления (2); |
| | * В полученном произведении выделяется целая часть, которая принимается в качестве старшего разряда числа в двоичной системе счисления; |
| | * Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над дробной частью произведения. |
| | |
| | > Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число. |
| | |
| | > Перевод целой части дает 20610=110011102 по ранее описанным алгоритмам. |
| | |
| | ===== Применения в цифровых устройствах ===== |
| | |
| | > Двоичная система используется в цифровых устройствах, поскольку является наиболее простой и соответствует требованиям: |
| | |
| | > Чем меньше значений существует в системе, тем проще изготовить отдельные элементы, оперирующие этими значениями. В частности, две цифры двоичной системы счисления могут быть легко представлены многими физическими явлениями: есть ток (ток больше пороговой величины) — нет тока (ток меньше пороговой величины), индукция магнитного поля больше пороговой величины или нет (индукция магнитного поля меньше пороговой величины) и т. д. |
| | > Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать. Например, чтобы закодировать три состояния через величину напряжения, тока или индукции магнитного поля, потребуется ввести два пороговых значения и два компаратора, |
| | > В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде. Например, число −5(10) может быть записано как −101(2) но в 32-битном компьютере будет храниться как 11111111111111111111111111111011(2). |
| |
| > Одноразрядный двухоперандный (двухаргументный) десятичный умножитель можно также представить, как комбинацию (объединение двух) бинарных (двухаргументных, двухоперандных, двухвходовых) десятичных логических функцией с унарным (одноразрядным) результатом, имеющих кроме собственных номеров и собственные названия словами: "младший разряд одноразрядного десятичного бинарного умножения" и "старший разряд одноразрядного десятичного бинарного умножения". | |
| |
| > Номер функции "младший разряд одноразрядного десятичного бинарного умножения" содержит все значения функции при переборе значений аргументов от 0 до 9 и относительно просто получается из таблицы десятичного умножения: 1234567890 2468024680 3692581470 4826048260 5050505050 6284062840 7418529630 8642086420 9876543210 0000000000 (пробелы отделяют по 10 знаков в номере функции). | |
| |
| > Номер функции "старший разряд одноразрядного десятичного бинарного умножения" содержит все значения функции при переборе значений аргументов от 0 до 9 и тоже относительно просто получается из таблицы десятичного умножения: 8765432100 7654432100 6544322100 5443321100 4433221100 3322211000 2221110000 1111100000 0000000000 0000000000 (пробелы отделяют по 10 знаков в номере функции). | |
| |
| ===== Преимущества десятичной позиционной системы ===== | |
| |
| > Реализованная с помощью индоарабских цифр десятичная позиционная система счисления постепенно вытеснила римские цифры и другие непозиционные системы нумерации благодаря множеству несомненных преимуществ[8]. | |
| |
| * Индийская запись чисел компактнее римской и позволяет быстро сравнивать разные числа по величине. | |
| * При расчётах на абаке можно одновременно записывать числа и проводить расчёты. | |
| * Вычисления стало возможно проводить без абака, на бумаге. Появились новые, более простые методы умножения и деления, специально рассчитанные на индоарабские цифры. | |
| * Вычислительная математика и математика вообще получили мощный импульс к развитию. Например, трудно представить изобретение логарифмов без индоарабских цифр. | |
| * Появилась возможность создания счётных машин. | |