Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Таблица соответствия между системами счисления

Десятичная Двоичная Восьмеричная Шестнадцатеричная
A
B
C
D
E
F
 

А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

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

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

Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы использовать ПК. Следует научиться понимать слово машины. Для это и разработаны восьмеричная и шестнадцатеричная системы.

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

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

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

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

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

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

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

 

Примеры.

 

Двоичная система счисления:

125, 3510= 111101, 010112

 

 

 

_125 2          
0,
 

 

124 _62 2          
1 62 _31 2        
0 30 _15 2      
    1 14 _7 2    
      1 6 _3 2  
        1 2 _1 2
          1 0 0
            1  

 

Восьмеричная система счисления:

 

0,

375, 510=567, 48

 

_375    
_46  
7 _5
 
     

 


Шестнадцатеричная система счисления:

 

32767, 510=7FFF, 816

0,

 

_32767    
_2047    
15 _127  
  _ 7
   
       

 

ТЕМА №2: Представление целых чисел в компьютере. Арифметические действия над целыми числами в компьютере.

ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. ОС Windows 95. Обучающие программы. Карточки.

 

ЦЕЛЬ УРОКА: Познакомиться с представлением в компьютере целых чисел. Научиться проводить производить арифметические операции над обратными и дополнительными кодами.

 

ТИП УРОКА: объяснительно – демонстрационный с элементами практикума.

 

ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ:

Учащиеся должны знать:

- что такое система счисления;

- что такое прямой, обратный и дополнительный коды чисел;

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

Учащиеся должны уметь:

– переводить десятичные числа в любые коды;

– переводить любые коды в десятичные числа;

– проводить арифметические операции над кодами.

 

ПЛАН-СОДЕРЖАНИЕ УРОКА

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

Целые числа без знака обычно занимают в памяти один или байта и принимают в однобайтовом формате значения от 000000002 до 111111118, а в двубайтовом формате – от 00000000 000000002 до 11111111 111111112.

Арифметические действия над целыми числами в компьютере

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

 

Сложение в обратных кодах

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

Случай.

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

Десятичная запись: Двоичные коды:

3 0 0000011

_7 0 0000111

10 0 0001010

Случай

Случай

Случай

А и В отрицательные.

Десятичная запись: Двоичные коды:

–7 1 1111100 Обратный код числа –3

_–3 1 1111000 Обратный код числа –7

–10 11 1110100

+1

1 1110101 Обратный код числа –10

 

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

При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется ПЕПЕПОЛНЕНИЕМ РАЗРЯДНОЙ СЕТКИ ФОРМАТА ЧИСЛА. Для обнаружения переполнения и оповещения о возникшей ошибке в ПК используются специальные средства.

Случай (переполнение)

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

Десятичная запись: Двоичные коды:

65 0 1000001

97 0 1100001

162 1 0100010 Переполнение,

не совпадает знак суммы

 

16210=101000102 , поэтому его нельзя представить однобайтовым кодом.

 

Случай (переполнение)

А и В отрицательные, сумма абсолютных величин А и В больше либо равна 2n-1

Десятичная запись: Двоичные коды:

–63 1 1000000 Обратный код числа –63

–95 1 0100000 Обратный код числа –95

–158 10 1100000 Переполнение

+1

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

 

Случай

Случай

Случай

А и В отрицательные.

Десятичная запись: Двоичные коды:

–7 1 1111101 Дополнительный код числа –3

_–3 1 1111001 Дополнительный код числа –7

–10 11 1110110

перенос отбрасывается

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

Сравнение рассмотренных форм кодирования целых чисел со знаком показывает: на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, так как последнее состоит из двух шагов — образования обратного кода и прибавления единицы к его младшему разряду; время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов, потому что в таком сложении нет переноса единицы из знакового разряда в младший разряд результата

 

Умножение и деление.

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число “нуль”. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.

Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

Умножим 1100112 на1011012.

Накапливающий сумматор: Множитель:

+ 0 0 0 0 0 0 0 0 0 0 0 0 10110 1

1 1 0 0 1 1

1 1 0 0 1 1 101 1 00

1 1 0 0 1 1___ Сдвиг на две позиции влево

1 1 1 1 1 1 1 1 10 1 000

__1 1 0 0 1 1 ______ Сдвиг на одну позиции влево

1 0 1 0 0 1 0 1 1 1 1 00000

_ 1 1 0 0 1 1_________ Сдвиг на две позиции влево

1 0 0 0 1 1 1 1 0 1 1 1 000000

 

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

Самостоятельная работа №2

1 вариант

 

  1. Перевести десятичные числа 121, 45 и 8, 15 в двоичную систему, нормализовать, сложить и проверить полученный результат переводом в десятичную систему.
  2. Расположите следующие числа в порядке возрастания: 10010, 11000002, 6016, 1418
  3. Запишите числа в прямом коде (формат 1 байт):

-117

  1. Запишите числа в обратном и дополнительном кодах (формат 1 байт):

-125

 

  1. Найдите десятичные представления чисел, записанных в дополнительном коде:

1 0011011

  1. Перевести число из 16-й системы в восьмеричную:

FAC3

  1. Выполните вычитания чисел путем сложения их дополнитель­ных кодов в формате 1 байт.

-117+7

 

2 вариант

 

  1. Перевести десятичные числа 124, 43 и 7, 34 в двоичную систему, нормализовать, сложить и проверить полученный результат переводом в десятичную систему.
  2. Расположите следующие числа в порядке возрастания: 7778, 1011111112, 2FЕ16, 50010;
  3. Запишите числа в прямом коде (формат 1 байт):

-121

  1. Запишите числа в обратном и дополнительном кодах (формат 1 байт):

-119

  1. Найдите десятичные представления чисел, записанных в дополнительном коде:

1 1111000

  1. Перевести число из 16-й системы в восьмеричную:

EF9A

  1. Выполните вычитания чисел путем сложения их дополнитель­ных кодов в формате 1 байт.

-119+6

 

Самостоятельная работа №2

1 вариант

 

  1. Выполнить сложение и результат представить в 16-ой системе счисления.

11110112+768=

  1. Выполнить вычитание результат представить в 8-ой системе счисления.

F0716-1102=

  1. В какой системе счисления справедливо равенство

12+22=100

  1. Какое целое положительное десятичное число представляется следующим кодом в двухбайтовом формате 0000000001001000
  2. Какое целое отрицательное десятичное число представляется следующим обратным кодом в однобайтовом формате 10111101
  3. Записать в виде кода следующее вещественное число –25, 34
  4. Сложить в обратных кодах –3+5

 

2 вариант

 

  1. Выполнить сложение и результат представить в 16-ой системе счисления.

11110012+678=

  1. Выполнить сложение и результат представить в 8-ой системе счисления.

A0716-1112=

  1. В какой системе счисления справедливо равенство

20+25=100

  1. Какое целое положительное десятичное число представляется следующим кодом в двухбайтовом формате 0000000001111000
  2. Какое целое отрицательное десятичное число представляется следующим обратным кодом в однобайтовом формате 10100011
  3. Записать в виде кода следующее вещественное число –20, 35
  4. Сложить в обратных кодах –2+6

 

 

Приложения

Таблица степеней двойки

2n   n 2–n    
      1, 0 0, 5 0, 25 0, 125  
    0, 062 0, 031 0, 015 0, 007 812 5    
  1 024 2 048 0, 003 0, 001 0, 000 0, 000 906 25 953 125 976 562 5 488 281 25    
      4 096 8 192 16 384 32 768 0, 000 0, 000 0, 000 0, 000 244 140 625 122 070 312 5 061 035 156 25 030 517 578 125    
  65 536 131 072 262 144 524 288 0, 000 0, 000 0, 000 0, 000 015 258 789 062 5 007 629 394 531 25 003 814 697 265 625 001 907 348 632 812 5    
  1 048 576 2 097 152 0, 000 0, 000 0, 000 0, 000 000 953 674 316 406 25 000 476 837 158 203 125 000 238 418 597 101 562 5 000 119 209 289 550 781 25    
    4 194 304 8 388 608
    16 777 216 33 554 432 67 108 864 134 217 728 0, 000 0, 000 0, 000 0, 000 000 059 604 644 775 390 625 000 029 802 322 387 695 312 5 000 014 901 161 193 847 656 25 000 007 450 580 596 923 828 125    
    268 435 456 536 870 912 0, 000 0, 000 0, 000 0, 000 000 003 725 290 298 461 914 062 5 000 001 862 645 149 230 957 031 25 000 000 931 322 574 615 478 515 625 000 000 465 661 287 307 739 257 812 5    
  073 741 824 147 483 648
294 967 296 589 934 592 179 869 184 359 738 368 0, 000 0, 000 0, 000 0, 000 000 000 232 830 643 653 869 628 906 25 000 000 116 415 321 826 934 814 453 125 000 000 058 207 660 913 467 407 226 562 5 000 000 029 103 830 456 733 703 613 281 25    
                                               

 

Арифметические операции над числами в шестнадцатеричной системе счисления

+ А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
А В С D Е F
В С D Е F
С D Е F
D Е F 1A
Е F 1D
F 1D 1E

 

A В С D E F
А B С D Е
–1 A В C D
–2 –1 А B С
–3 –2 –1 A В
–4 –3 –2 –1 А
–5 –4 –3 –2 –1
–6 –5 –4 –3 –2 –1
–7 –6 –5 –4 –3 –2 –1
–8 –7 –6 –5 –4 –3 –2 –1
А –9 –8 –7 –6 –5 –4 –3 –2 –1
В –А –9 –8 –7 –6 –5 –4 –3 –2 –1
С –В –A –9 –8 –7 –6 –5 –4 –3 –2 –1
D –C –В –A –9 –8 –7 –6 –5 –4 –3 –2 –1
Е –D –С –В –А –9 –8 –7 –6 –5 –4 –3 –2 –1
F –Е –D –С –В –A –9 –8 –7 –6 –5 –4 –3 –2 –1

 

´ А В С D E F
А В С D Е F
А С Е
С F 2D
С
A F 2D
С 2A 5A
Е 3F 4D
2D 3F
А А
В В 4D 8F 9A А5
С С A8 В4
D D 1A 8F А9 В6 С3
Е Е 9A А8 В6 С4 D2
F F 1E 2D 3C А5 В4 С3 D2 Е1

Для перевода шестнадцатеричных чисел в десятичную систему счисления. Числа вида a× 16k

a(16) a× 164 a× 163 a× 162 a× 16 a
А
В
С
D
E
F

Приёмы вычислений по эти таблицам иллюстрируются следующими примерами:

§ E + C = 1A;

§ 12 + 13 = 25;

§ AB – 2A = [A – 2] [B – A] = 81;

§ E ´ A = 8C;

§ CA00(16) = 12 × 163 +10 × 162 = 49152 + 2560 = 51712(10)

 

 

Урок № 2 Измерение информации

Задача

Пользователь компьютера, хорошо владеющий навыками ввода информации с клавиатуры может вводить в минуту 100 знаков. Мощность алфавита, используемого в компьютере равна 256. Какое количество информации в байтах может ввести пользователь за 1 минуту.

Решение: так как мощность алфавита ( количество символов в алфавите) равно 256, то длину кода одного символа легко посчитать, надо решить уравнение 2x=256, где х=8, так как 1 байт= 8 бит, то 8*100=800 бит информации, или 100 байт за минуту будет введено.

  1. Новый материал.

Таблица истинности для конъюнкции

A B F

 


2) Логическое сложение или дизъюнкция:

Дизъюнкция - это сложное логическое выражение, которое истинно, если хотя бы одно из простых логических выражений истинно и ложно тогда и только тогда, когда оба простых логических выраженныя ложны.
Обозначение: F = A + B.

Таблица истинности для дизъюнкции

A B F

 


3) Логическое отрицание или инверсия:

Инверсия - это сложное логическое выражение, если исходное логическое выражение истинно, то результат отрицания будет ложным, и наоборот, если исходное логическое выражение ложно, то результат отрицания будет истинным. Другими простыми слова, данная операция означает, что к исходному логическому выражению добавляется частица НЕ или слова НЕВЕРНО, ЧТО.

Таблица истинности для инверсии

A неА

 


4) Логическое следование или импликация:

Импликация - это сложное логическое выражение, которое истинно во всех случаях, кроме как из истины следует ложь. Тоесть данная логическая операция связывает два простых логических выражения, из которых первое является условием (А), а второе (В) является следствием.

Таблица истинности для импликации

A B F

 


5) Логическая равнозначность или эквивалентность:

Эквивалентность - это сложное логическое выражение, которое является истинным тогда и только тогда, когда оба простых логических выражения имеют одинаковую истинность.

Таблица истинности для эквивалентности

A B F

 


Порядок выполнения логических операций в сложном логическом выражении.

1. Инверсия;
2. Конъюнкция;
3. Дизъюнкция;
4. Импликация;
5. Эквивалентность.

Таблица соответствия между системами счисления

Десятичная Двоичная Восьмеричная Шестнадцатеричная
A
B
C
D
E
F
 

А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

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

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

Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы использовать ПК. Следует научиться понимать слово машины. Для это и разработаны восьмеричная и шестнадцатеричная системы.

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

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

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

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

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

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

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

 

Примеры.

 

Двоичная система счисления:

125, 3510= 111101, 010112

 

 

 

_125 2          
0,
 

 

124 _62 2          
1 62 _31 2        
0 30 _15 2      
    1 14 _7 2    
      1 6 _3 2  
        1 2 _1 2
          1 0 0
            1  

 

Восьмеричная система счисления:

 

0,

375, 510=567, 48

 

_375    
_46  
7 _5
 
     

 


Шестнадцатеричная система счисления:

 

32767, 510=7FFF, 816

0,

 

_32767    
_2047    
15 _127  
  _ 7
   
       

 


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 593; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.123 с.)
Главная | Случайная страница | Обратная связь