Сделай Сам Свою Работу на 5

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





Системы счисления. Основные понятия. Позиционные и непозиционные системы счисления. Образование чисел в позиционных системах счисления.

Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).

Существуют позиционные и непозиционные системы счисления.

В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы.

Сама же запись числа 757,7 означает сокращенную запись выражения

700 + 50 + 7 + 0,7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757,7.

Любая позиционная система счисления характеризуется своим основанием.

Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.



За основание системы можно принять любое натуральное число — два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения

an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,

где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно.

Например:

3. Образование целых чисел в позиционных системах счисления.

В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д.

Продвижением цифры называют замену её следующей по величине.

Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры – 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 – замену её на 0.

Для образования целого числа, следующего за любым данным целым числом, нужно продвинуть самую правую цифру числа; если какая-либо цифра после продвижения стала нулем, то нужно продвинуть цифру, стоящую слева от неё.



Применяя это правило, запишем первые десять целых чисел

в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;

в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;

в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;

восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.

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

При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный q–1. Число в системе с основанием q записывается как последо-вательность остатков от деления, записанных в обратном порядке, начиная с последнего.

Пример: Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

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

Пpи переводе правильной десятичной дpоби в систему счисления с основанием q необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на q, отделяя после каждого умножения целую часть пpоизведения. Число в новой системе счисления записывается как последовательность полученных целых частей пpоизведения.

 

Умножение пpоизводится до тех поp, пока дpобная часть пpоизведения не станет pавной нулю. Это значит, что сделан точный пеpевод. В пpотивном случае пеpевод осуществляется до заданной точности. Достаточно того количества цифp в pезультате, котоpое поместится в ячейку памяти компьютера.



 

Пример: Перевести число 0,35 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Ответ: 0,3510 = 0,010112 = 0,2638 = 0,5916 .

5. Перевод чисел из двоичной (восьмеpичной, шестнадцатеpичной) системы в десятичную.

При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления.

 

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

Для определенности возьмем произвольное десятичное число, например 46, и для него выполним все возможные последовательные переводы из одной системы счисления в другую.

Порядок переводов определим в соответствии с рисунком:

На этом рисунке использованы следующие обозначения:

в кружках записаны основания систем счисления;

стрелки указывают направление перевода;

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

Сводная таблица переводов целых чисел

 

7. Арифметические операции в позиционных системах счисления. сложение и вычитание

Сложение и вычитание

В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.

При сложении обратных кодов чисел А и В имеют место четыре основных и два особых случая:

 
 

1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:

 

Получен правильный результат.

 

 
 

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:

 

Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = –710.

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.

 

 

4. А и В отрицательные. Например:

 

Полученный первоначально неправильный результат (обратный код числа –1110 вместо обратного кода числа –1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы.

 

При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = –1010.

 

При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения.

 

5. А и В положительные, сумма А+В больше, либо равна 2n–1, где n – количество разрядов формата чисел (для однобайтового формата n=8, 2n–1 = 27 = 128). Например:

Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (16210 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки.

 

6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2n–1. Например:

Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки.

 

Все эти случаи имеют место и при сложении дополнительных кодов чисел:

 

1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода.

 

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:

Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = –710.

 

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

 

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

 

 

4. А и В отрицательные. Например:

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

 

 

Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов.

 

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.