Рефераты. Системы счисления, переводы чисел

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

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


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

4.1  Представление двоичных чисел и перевод их в десятичные.


         Совершенно очевидно, что двоичное число представляется последовательностью нулей и единиц – разрядов. Как и в любой позиционной системе, каждому разряду присвоен определенный вес – показатель степени основания системы. Веса первых 10 позиций представлены в таблице.


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


Позиция

9

8

7

6

5

4

3

2

1

0

Вес

512

256

128

64

32

16

8

4

2

1

Образование


В двоичной системе счисления даже сравнительно небольшие числа занимают много позиций.

Как и в десятичной системе, в двоичной системе счисления для отделения дробной части используется точка (двоичная точка). Каждая позиция слева от этой точки также имеет свой вес – вес разряда дробной части числа. Значение веса в этом случае равно основанию системы счисления (т.е. двойке), возведенному в отрицательную степень.

Получить десятичное число из двоичного чрезвычайно просто. Согласно формуле


для двоичной системы счисления получаем:

                                                                              

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


         Перевод двоичного числа  в десятичное


4.2  Преобразование десятичных чисел в двоичные


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



4.2.1 Метод деления

        

Другим методом является так называемый метод деления. Он применяется для преобразования целых чисел. Ниже приведен его алгоритм.

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


Пример 4.3  Перевод десятичного числа  в двоичное методом деления

2








 

 148

–74

2







 

      1

 74

–37

2






 

0

 36

–18

2





 

1

 18

–9

2




 


0

 8

–4

2



 



1

 4

–2

2


 




0

 2

–1

2

 





0

 0

0

 






1

¬

старший разряд

(10010101)2=(149)10

¬ ответ



4.2.2 Метод умножения

        

И, наконец, метод умножения. Метод применяется для преобразования десятичных дробей (чисел меньших единицы).

Число умножается на 2, если результат ³ 1, то в старший разряд записывается единица, если нет, то нуль. Умножаем на 2 дробную часть результата и повторяем процедуру. И так далее до получения нужной степени точности или до обнуления результата.

Перевод десятичного числа  в двоичное методом умножения

  


 

 

 

 

 

 

 

 

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

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

6.Внешнее проектирование программы.

Для наглядности программу перевода лучше изобразить в виде ориентированного графа.  Но если перевод осуществлять по этой схеме, то

код программы будет громоздким. Так как будет множество алгоритмов перевода.

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

 









7.Математическая модель.

Для перевода из 2, 8, 10, 16 систем счисления в десятичную систему использую формулу:

     n

AiMi,

i=0

где Ai – значение разрядного коэффициента i-го разряда, а М это основание системы счисления.

         Пример:

Число 326 в десятичной системе можно записать так 3*102+2*101+6*100=326

Число 100110 в двоичной системе можно записать так 1*25+0*24+0*23+1*22+1*21+0*20=38.


Для перевода из десятичной системы счисления в 2, 8, 10, 16 используем алгоритм:

repeat

c := a mod e;

if (e = 16) and (c>9) then l:= l + chr(c+55) else l:= l + chr(c+48);

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.