Смекни!
smekni.com

Системы счисления 6

Введение.

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

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

Число единиц какого-либо разряда, объединяемых в единицу более старшего разряда, называют основанием позиционной системы счисления. Если количество таких цифр равно P, то система счисления называется P-ичной. Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления.

Запись произвольного числа x в P-ичной позиционной системе счисления основывается на представлении этого числа в виде многочлена

x = anPn + an-1Pn-1 + … + a1P1 + a0P0 + a-1P-1 + … + a-mP-m

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

Постановка задачи.

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

Правила перевода чисел.

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

Оптимальный способ перевода числа из шестнадцатеричной в восьмеричную систему счисления будет следующим. Т.к. шестнадцатеричное число имеет основание системы счисления 16=24, а восьмеричное 8=23, то шестнадцатеричное число переводим в двоичное: каждую цифру заменяем на группу из 4-х двоичных цифр ( тетраду ) соответственно данной таблице:

С и с т е м а с ч и с л е н и я С и с т е м а с ч и с л е н и я
2 16 2 16
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
Таблица №1

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

С и с т е м а с ч и с л е н и я С и с т е м а с ч и с л е н и я
2 8 2 8
000 0 100 4
001 1 101 5
010 2 110 6
011 3 111 7
Таблица №2

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

Данный перевод осуществляется аналогично описанному в п. 3.1. с тем отличием, что восьмеричное число переводится в двоичное: каждая восьмеричная цифра заменяется двоичной триадой согласно таблице №2.

Затем двоичное число разбивается на тетрады (при необходимости добавить нули справа и слева от числа) которые заменяются шестнадцатеричными цифрами согласно таблице №1

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

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

Укрупненная схема алгоритма.