домашняя библиотека
Поиск в библиотеке
Навигация по предметам
Последние добавленные новости
Реклама

Дискретная математикаДискретная математика – пособие (Часть 2 из 5). Системы счисления. Основы арифметики цифровых вычислительных машин

Перевод целых чисел из десятичной системы в систему счисления с основанием В

Перевод целых чисел из десятичной системы счисления в систему счисления с любым другим основанием В основывается на следующих соображениях. Если некоторое целое число N записано в B-ичной позиционной системе с естественными весами разрядов в виде

 

то эта запись обозначает, что десятичный эквивалент числа определяется как

 

Ясно, что младшая цифра 4a1, a1 < B, есть остаток от деления N на B. Целая часть частного от деления N на B равна:

Вторая цифра числа a2 есть остаток от деления N1 на B и т.д. Алгоритм перевода целого числа из десятичной системы в позиционную B-ичную систему счисления выглядит следующим образом:

1) разделить исходное число N (заданное в десятичной системе) на B; полученный остаток является младшей цифрой в представлении числа B-ичной системой счисления;

2) разделить целую часть частного, полученного при предыдущем делении, на B, остаток является очередной цифрой в B-ичном представлении числа;

3) повторять п. 2 до тех пор, пока целая часть частного не окажется равной нулю;

4) записать число в системе счисления с основанием B, используя остатки от деления по п. 1 и п. 2 в качестве значений разрядов этого числа. Последний из полученных остатков определяет значение старшего разряда.

Все операции выполняются в десятичной системе счисления.

Пример 1.7.

Перевести десятичное число 3187310 в восьмеричную систему счисления:

Искомое представление числа ® 762018 .

Пример 1.8.

Требуется перевести десятичное число N10 в двоичную систему счисления.

Двоичная запись десятичного числа N10 = 18910 имеет следующий вид:

N2 = 101111012.

Проверка правильности перевода:

101111012 = 1×27 + 0×26 +1×25 +1×24 +1×23 +1×22 +0×21 +1×20 = … = 128 + 32 +

+ 16 + 8 + 4 + 1 = 189.

Пример 1.9.

Требуется перевести десятичное число N10  в восьмеричную систему счисления.

Восьмеричная запись числа N10 = 18910 имеет вид N8 = 275.

Проверка правильности перевода:

Перевод дробных чисел из десятичной системы в систему счисления с основанием B

 

Перевод дробных чисел из десятичной системы в любую другую систему счисления с основанием B выполняется по аналогии с переводом целых чисел.

Если некоторое дробное число D записано в B-ичной позиционной системе счисления с естественными весами разрядов в виде D = 0,d1 d2 d3 ... dm-1 dm,

то это означает, что

 

Отсюда вытекает следующий алгоритм преобразования:

1) умножить исходное число D (заданное в десятичной системе) на B, целая часть полученного результата является старшей цифрой в представлении числа B-ичной системой;

2) умножить дробную часть полученного в п. 1 результата на B; целая часть полученного произведения является очередной цифрой в B-ичном представлении числа;

3) повторять п. 2 до тех пор, пока дробная часть произведения не окажется равной нулю или пока не будет получено заданное количество цифр в B-ичном представлении числа.

Все операции можно выполнять в десятичной системе счисления.

Пример 1.10.

Перевести десятичное число D10 = 0,972687 в восьмеричную систему счисления.

Пример 1.11.

Требуется перевести правильную десятичную дробь D10 в двоичную систему счисления.

Пусть D10 = 0,6875; В = 2.

Результатом преобразования правильной десятичной дроби D10 в двоичную систему счисления является запись D2 = 0, 1011.

Проверка правильности перевода:

0, 10112 = 0, (1×2-1 + 0×2-2 + 1×2-3 + 1×2-4) = 0, (1/2 +1/8 +1/16) = 0,687510.

Пример 1.12.

Требуется перевести десятичную дробь D10 в восьмеричную систему счисления.

Пусть D10 = 0,6875; B = 8.

Восьмеричная запись десятичной правильной дроби D10 имеет вид

D8 = 0,54.

Проверка правильности перевода:

0,548 = 0, (5×8-1 + 4×8-2) = 0, (5/8 + 4/64) = 0,687510.

Пример 1.13.

Перевод числа D10 = 1/3 в двоичную систему счисления.

и т. д. (периодически).

Искомое представление числа – (0,010101 ...)2.

   
 
  • Добавлен: 17-09-2010, 00:45 | Просмотров: 14605

    support: admin@sdb.su