Автор работы: Пользователь скрыл имя, 28 Октября 2013 в 20:02, лабораторная работа
Вычислительные машины работают с информацией, заданной числами, представленными в виде специальных кодов в принятой для данной машины системе счисления.
Система счисления – это совокупность приемов наименования и обозначения чисел.
1) 679 -6 7 - 6 19 - 18 1 |
339 -2 13 -12 19 -18 1 |
169 -16 9 - 8 1
|
84 -8 4 -4 0 |
42 -4 2 - 2 0 |
21 -2 1
|
10 -10 0 |
5 -4 1
|
2 -2 0 |
67910=1 0 1 0 1 0 0 1 1 12
2) 679 -64 39 -32 7 |
84 -8 4 |
10 - 8 2
|
67910=1 2 4 78
3) 679 -64 39 -32 7 |
42 -32 10=А |
67910=2А716
Для того чтобы осуществить обратный перевод, необходимо составить степенной ряд с основанием той системы счисления, из которой данное число переводится в десятичную систему счисления.
10101001112=1*29 + 0*28 + 1*27 + 0*26 + 1*25 + 0*24 + 0*23 + 1*22 + 1*21 + 1*20 = 512 + 128 + + 32 + 4 + 2 + 1 = 67910
12478 = 1*83 + 2*82 + 4*81 + 7*80 = 512 + 128 + 32 + 7 = 67910
2А716 = 2*62 + А*161 + 7*160 = 512 + 160 + 7 = 67910
При переводе двоичного числа в восьмеричное или шестнадцатеричное и обратно можно воспользоваться более простым способом, чем описанный выше.
При переводе двоичного числа в восьмеричную систему счисления в двоичном числе справа налево выделяются группы по три разряда в каждой и каждую такую тройку (триаду) записывают в виде восьмеричной цифры. Если в группе, куда входят старшие разряды числа, нет трех разрядов, то недостающие подразумевается равным нулю.
Пример:
10 111 0012 = 010 111 0012 = 2718
При переводе двоичного числа в шестнадцатеричную систему счисления в двоичном числе справа налево выделяются группы по четыре разряда в каждой и каждую четвертую (тетраду) записывают в виде шестнадцатеричной цифры. Если в группе, куда входят старшие разряды числа нет четырех разрядов, то недостающие подразумеваются равными нулю. Пример:
0001 1111 0010 1010 01012 = 1F2А516
Учитывая сказанное, можно составить табл.5, которая позволит переводить числа из двоичной системы счисления в восьмеричную (шестнадцатеричную) и обратно.
Таблица 5
№ п/п |
Восьмеричное число |
Двоичное отображение |
Шестнадцатеричное число |
Двоичное отображение |
0 |
0 0 0 |
0 |
0 0 0 0 | |
1 |
0 0 1 |
1 |
0 0 0 1 | |
2 |
0 1 0 |
2 |
0 0 1 0 | |
3 |
0 1 1 |
3 |
0 0 1 1 | |
4 |
1 0 0 |
4 |
0 1 0 0 | |
5 |
1 0 1 |
5 |
0 1 0 1 | |
6 |
1 1 0 |
6 |
0 1 1 0 | |
7 |
1 1 1 |
7 |
0 1 1 1 | |
8 |
1 0 0 0 | |||
9 |
1 0 0 1 | |||
А(10) |
1 0 1 0 | |||
№ п/п |
Восьмеричное число |
Двоичное отображение |
Шестнадцатеричное число |
Двоичное отображение |
B(11) |
1 0 1 1 | |||
C(12) |
1 1 0 0 | |||
Д(13) |
1 1 0 1 | |||
Е(14) |
1 1 1 0 | |||
F(15) |
1 1 1 1 |
Перевод из восьмеричной (шестнадцатеричной) системы счисления выполняется аналогично: один символ восьмеричной заменяется тремя двоичными, один символ шестнадцатеричной заменяется четырьмя двоичными.
Примеры:
2 5 4 78 = 010 101 100 1112
9 A 6 F16 = 1001 1010 0110 11112
Незначащие нули (расположены слева) можно не писать.
П е р е в о д п р а в и л ь н ы х д р о б е й
Для перевода правильной дроби из одной системы счисления в другую необходимо выполнить следующие действия:
В случае, если получится перенос в целую часть числа, записать его слева от вертикальной черты.
Умножение выполнять до тех пор, пока либо будет полученное число с заданной точностью. Либо справа от вертикальной черты окажется нуль.
Результатом перевода будет число, полученное слева от вертикальной черты, при чтении сверху вниз.
При выполнении перевода необходимо умножение производить в исходной системе счисления и основание новой системы счисления тоже представить в исходной системе.
Примеры:
Х 0 |
8 728 |
|
5 6 4 |
824 592 736 |
Þ 0,72810 = 0,5648 |
Х 0 |
12 752 |
, где 1) 12 *752 24 62 106 11444 |
2) 12 *444 50 50 50 5550 |
3) 12 *550 62 62 7020 |
9Û11 5 7 |
444 550 020 | |||
Þ 0,7528 = 0,95710
Х 0, |
2 5 |
Þ 0,510 = 0,12 |
1 |
0 |
П е р е в о д н е п р а в и л ь н ы х д р о б е й
Перевод неправильных дробей из одной системы счисления в другую производиться раздельно для целой части числа и дробной по предложенным выше правилам. Пример: перевести число 4,875 в двоичную систему счисления.
410 = 1002 |
4 -2 0 |
2 - 2 0
|
Х 0 |
2 875 |
Þ 0,87510 = 0,1112
|
1 1 1 |
750 500 000 | |
4,87510 = 100,1112 |
Д в о и ч н о – д е с я т и ч н а я з а п и с ь ч и с е л
Для записи десятичных чисел математики часто используют специальную промежуточную запись, называемую двоично-десятичной. Для записи десятичного числа в двоично-десятичной форме каждую цифру этого числа записывают в виде четырехразрядного двоичного числа. Каждая такая четверка называется тетрадой. Пример:
172,3 = 0001 0111 0010, 0011.
Для обратного перевода двоично-десятичное число разбивают на тетрады вправо и влево от запятой.
ПРЕОБРАЗОВАНИЕ ДАННЫХ, ВВОДИМЫХ С КЛАВИАТУРЫ
Для получения высокой
Во многих случаях новые данные вводятся программой с клавиатуры. Система BIOS (Basic I/O System – основная система ввода - вывода) преобразует символы, которые набираются на клавиатуре, в ASCII – коды (American National Standard Code for Information Interchange). Система ASCII представляет собой набор числовых кодов, используемых ЭВМ для обмена данными.
Перед вводом данных на экран или принтер производится обратное преобразование двоичных результатов в ASCII.
В табл.6 показаны ASCII – коды десятичных цифр от 0 до 9. Из таблицы видно, что двоичный эквивалент десятичной цифры есть ни что иное как младшие четыре бита ее ASCII кода.
Таблица 6
ASCII – коды десятичных цифр
ASCII – код шестнадц.сс. |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
Десятич.цифра |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Так как цифры числа вводятся по одной, то преобразование из ASCII – кодов в двоичное число осуществляется следующим образом:
Обычно требуется
Б у к в е н н о – ц и ф р о в ы е к о д ы
Среди буквенно-цифровых (символьных) кодов применяются коды EBC DIC и ASCII.
Символьные коды являются основным средством осуществления ввода – вывода при взаимодействии с внешним миром.
При нажатии клавиши на терминале производится формирование и передача в компьютер соответствующего кода ASCII. (рис.1). Если компьютер посылает в терминал двоичную цепочку кода ASCII, терминал должен дешифровать эти биты и отреагировать соответствующим образом. (Печатаются не все символы кода ASCII; некоторые из них осуществляются возврат на шаг, пробел, перевод строки, возврат каретки и т.д.). Кроме печатных и управляющих символов, в коде ASCII так же символы, как EOF (конец файла) и EOT (конец передачи), которые служат маркерами при передачи и хранении данных.