Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы_Информатика_091210.doc
Скачиваний:
27
Добавлен:
12.03.2015
Размер:
278.53 Кб
Скачать

Лабораторная работа № 1. Позиционные системы счисления

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

  1. Теоретический материал

При обозначения количественных характеристик объектов и явлений используются пис;1с;;онательности символов. Например, для указания года используется последовательность символов "1999". Символы 'Г и '9' выбираются из набора символов, в который входят также символы '0', '2', '3',' 4', '5', '6', '7' и '8' (в дальнейшем апострофы при указании символа будут опускаться).

Набор символов, правил счета и записи чисел в виде последовательности символов из этого набора образуют систему счисления. Набор символов системы счисления называется алфавитом, а сами символы - цифрами.

Необходимо различать значение числа и его запись. Одно и то же число можно записать, используя различные системы счисления. Например, 35 и XXXV - это две различные записи одного и того же числа.

Рассмотрим в качестве примера запись чисел в двух системах счисления. Первой системой (5;) является арабская система счисления с алфавитом:

А = {0, 1,2,3,4,5,6,7,8,9}.

Во второй системе (S2) число представляется в виде последовательности единиц и для определения значения числа необходимо сосчитать количество единиц в его записи. Алфавит второй системы счисления состоит из одной цифры: А = {1}.

Число "одиннадцать" в этих системах счисления записывается соответственно 11 и 11111111111. При записи чисел используется цифра 1, однако в первой системе счисления вес единицы определяется ее местоположением в записи числа (вес левой единицы равен 10, вес правой единицы равен 1), тогда как вес 1 во второй системе счисления всегда равен единице и не зависит от того, где она располагается.

Из-за указанного различия эти системы счисления относят к разным классам систем счисления - позиционным а непозиционным системам счисления.

В позиционных системах счисления вес цифры в записи числа зависит от ее вида и от занимаемой ею позиции. Позиции цифр в таких системах счисления называются разрядами. Разряды нумеруются числами: 0, 1, 2 и т.д. Крайняя левая позиция в записи числа является старшим разрядом числа, а крайняя правая позиция - младшим разрядом числа.

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

111 +1=1111.

При записи больших чисел более приемлемым является использование позиционных систем счисления (число 1000000000 при использовании непозиционной системы счисления S2 может не поместиться на одном листе бумаги).

Число q, равное количеству различных цифр в алфавите позиционной системы счисления, называется основанием системы счисления.

В алфавите арабской системы счисления S1 q равно десяти, так как алфавит включает в себя десять различных чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В соответствии со значением основания арабскую систему счисления называют десятичной системой счисления.

Число N в позиционной системе счисления с основанием q и алфавитом А в многочленной записи выглядит следующим образом:

Nq = anan-1 ....а1aoa-1a-2...a-m =

=anqn + an-1qn-1 + … + a1q1 + a0q0+ …+ а-1q-1 + a-2q-2 + ... + a-mq-m, (2.1)

где an , an-1,..., a1, аo, a-1, a-2,..., a-m - цифры из алфавита А; п. п - 1,..., 1, 0, -1,-2, ...,-т - номера разрядов.

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

Если дробная часть отсутствует, то число называют целым и опускают дробную точку в записи числа. Если отсутствует целая часть, то число называют правильной дробью и перед дробной точкой записывают 0 (25 -целое число, а 0.14 - правильная дробь).

Например, в арабской системе счисления значение числа 345.678 определяется выражением:

345.678 = 3 • 102 + 4 • 101 + 5 • 100 + 6 • 10-1 + 7 • 10-2 + 8 • 10-3.

В современных ЭВМ для представления чисел используются позиционные системы счисления. Число в позиционной системе счисления состоит из и разрядов. Каждый разряд содержит одну из q цифр, где q - основание системы счисления (число различных цифр в алфавите). Поэтому для представления чисел в памяти ЭВМ требуются устройства, имеющие q устойчивых состояний (чтобы различать по состоянию устройства значения цифры в разряде).

Наиболее просто с технической точки зрения реализуются устройства, имеющие два устойчивых состояния (электромагнитное реле замкнуто или разомкнуто, магнитный материал намагничен или размагничен, электронная схема имеет на выходе высокое или низкое напряжение и т.д.). В связи с этим для представления чисел в ЭВМ применяется двоичная система счисления.

Двоичная система счисления имеет алфавит, состоящий только из двух цифр: 0 и 1. Основанием двоичной системы счисления является число два.

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

Восьмеричная система счисления имеет алфавит из восьми цифр:

О, 1, 2, 3, 4, 5, 6, 7. Основанием восьмеричной системы является число восемь.

Шестнадцатеричная система счисления состоит из шестнадцати различных цифр: 0, 1,2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Основанием шестнадцатеричной системы счисления является число шестнадцать.

Вид первых шестнадцатеричных чисел от 0 до 15 в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления приведен в табл. 1.

Таблица 1

10

2

8

16

10

2

8

16

00

0000

00

0

08

1000

10

8

01

0001

01

1

09

1001

11

9

02

0010

02

2

10

1010

12

a

03

0011

03

3

11

1011

13

b

04

0100

04

4

12

1100

14

с

05

0101

05

5

13

1101

15

d

06

0110

06

6

14

1110

16

e

07

0111

07

7

15

1111

17

f

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

Правило 1. Перевод чисел из системы счисления с основанием q в десятичную систему счисления.

Чтобы перевести число anan-1…a1a0.a-1…a-m(q) из системы счисления с основанием q в десятичную систему счисления необходимо число представить в форме многочлена.. Многочлен представляет собой сумму n + 1 + m слагаемых, где n +1 – количество разрядов в целой части исходного числа, а m  количество разрядов в дробной части исходного числа. Каждое слагаемое многочлена соответствует разряду исходного числа. Слагаемое многочлена представляет собой произведение двух сомножителей. Первый сомножитель - десятичное число равное весу цифры соответствующего разряда исходного числа. Второй сомножитель - это степень, основанием которого является основание системы счисления, а показателем степени - номер разряда:

,

где N(10)  значение десятичного числа;

a*n, a*n-1, …, a*1, a*0, a*-1, … a*-m  десятичные числа равные весам цифр an, an-1, …, a1, a0, a-1, … a-m(q) соответствующих разрядов c номерами n, n-1, …, 1, 0, -1,…,-m исходного числа;

Правило 2. Перевод целых чисел из десятичной системы счисления в систему счисления с основанием q.

Для этого исходное число необходимо разделить на основание системы счисления q. В результате деления будет получено частное (целое число) и остаток от деления (целое число). На следующем шаге алгоритма необходимо полученное частное также разделить на основание системы счисления. Будет получено также частное и остаток. Деление очередного частного производится до тех пор, пока очередное частное не окажется строго меньше основания системы счисления q. Цифре старшего разряда будет соответствовать частное последнего деления. Цифре следующего разряда  остаток последнего деления. Цифре следующего разряда  остаток предпоследнего деления и т. д., цифре младшего разряда будет соответствовать остаток первого деления.

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

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

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

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

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