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

Автор работы: Пользователь скрыл имя, 24 Февраля 2011 в 15:52, курсовая работа

Описание работы

На ранних ступенях развития общества люди почти не умели считать. Они отличали друг от друга совокупности двух и трех предметов; всякая совокупность, содержавшая большее число предметов, объединялась в понятии «много». Это был еще не счет, а лишь его зародыш.

Содержание работы

Глава 1.История развития систем счисления……..………………………..2
Зарождение систем счисления………………………………………………2
Образование десятичной системы счисления……………………………....4
Глава 2. Системы счисления…………….…………………………………..5
2.1 Позиционные и непозиционные системы счисления………………………5
2.2 Двоичная(бинарная) система счисления…………………………………….6
2.3. Восьмеричная система счисления…………………………………………..6
2.4. Десятеричная система счисления…………………………………………...6
2.5. Шестнадцатеричная система счисления……………………………………7
Глава 3. Представление чисел в ЭВМ…………………………………..8
Представление чисел с фиксированной и плавающей запятой.………...…8
3.2 Числа с фиксированной запятой…………………………………………….8
3.3 Числа с плавающей запятой…………………………………………………9
3.3 Прямой, обратный и дополнительный коды. Модифицированный код…10
Глава 4. Перевод чисел…………………………………………………...13
4.1 Представление двоичных чисел и перевод их в десятичные…………….13
4.2 Преобразование десятичных чисел в двоичные…………………………..13
4.2.1 Метод деления……………………………………………………………..13
4.2.2 Метод умножения………………………………………………………….14
5.Постановка задачи………………………………………………………15
6.Внешнее проектирование программы…………………………………15
7.Математическая модель………………………………………………...16
8.Кодирование и отладка программы….……………………………...…17
9.Таблица тестов…………………………………………………………..23
10.Список литературы………………………………………..…………..24

Файлы: 1 файл

kursovik.doc

— 478.50 Кб (Скачать файл)

      числа                                                                                            порядка 

      3.3 Прямой, обратный и дополнительный коды. Модифицированный код 

      При рассмотрении элементарных арифметических операций над двоичными числами мы уже коснулись темы отрицательных двоичных чисел. Теперь рассмотрим ее подробнее.

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

      Такая форма представления числа называется прямым кодом.

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

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

  • для образования дополнительного кода отрицательного числа необходимо в  знаковом разряде поставить единицу,  а все цифровые разряды инвертировать (заменить 1 на 0,  а 0 – на 1),  после чего прибавить 1 к младшему разряду;
  • для образования обратного кода отрицательного числа  необходимо в знаковом разряде поставить единицу, а все цифровые разряды инвертировать;
  • при  данных преобразованиях нужно учитывать размер разрядной сетки.

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

      В таблице 5.1 пpиведены десятичные числа и их двоичные пpедставления в тpех pазличных фоpмах. Интеpесно в ней вот что. Если начать счет с числа 1000 (–8) и двигаться вниз по столбцам, то в дополнительном коде каждое последующее число получается пpибавлением единицы к пpедыдущему без учета пеpеноса за  пpеделы четвеpтого pазpяда Так пpосто эту опеpацию в пpямом и обpатном кодах не осуществить. Эта особенность дополнительного кода и  явилось пpичиной пpедпочтителного пpименения его в совpеменных микpо и миниЭВМ.

      Итак, числа, пpедставленные в дополнительном коде, складываются по пpавилам двоичного сложения, но без учета каких  либо пеpеносов за пpеделы стаpшего pазpяда. Рассмотpим это на пpимеpах 5.1. 
 

Прямой, обратный и дополнительный коды

.

Десятичное

число

Прямой

код

Обратный

код

Дополнительный

код

-8 1000
-7 1111 1000 1001
-6 1110 1001 1010
-5 1101 1010 1011
-4 1100 1011 1110
-3 1011 1100 1101
-2 1010 1101 1110
-1 1001 1110 1111
0 1000

0000

1111

0000

0000
1 0001 0001 0001
2 0010 0010 0010
3 0011 0011 0011
4 0100 0100 0100
5 0101 0101 0101
6 0110 0110 0110
7 0111 0111 0111
 

      Еще одним достоинством дополнительного  кода является то, что нуль, в отличие  от пpямого и обpатного  кодов,  пpедставляется одним кодом. Наличие 0 в знаковом бите пpи  пpедставлении  нуля опpеделяет его как величину положительную, что согласуется с  математической теоpией чисел и соглашениями, пpинятыми  во  всех языках пpогpаммиpования.

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

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

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

      При сложении чисел,  меньших единицы, в машине быть получены числа, по абсолютной величине большие  единицы.  Для  обнаружения переполнения разрядной  сетки  в ЭВМ применяются модифицированные прямой, обратный и дополнительный коды. В этих кодах знак кодируется двумя разрядами,  причем знаку "плюс" соответствует комбинация 00, а знаку "минус" - комбинация 11.

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

     Признаком переполнения  служит  появление в знаковом разряде суммы комбинации 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 ¬ ответ  

Информация о работе Системы счисления, переводы чисел