15 Окт »

Беззнаковые коды

Автор: Основной язык сайта | В категории: Изучаем информатику
1 кол2 пара3 трояк4 хорошо5 отлично (Еще не оценили)
Загрузка...

Как уже отмечалось, восемь последовательных бит образовывают байт, который может иметь 256 разных залогов (комбинаций с 0 и 1). им можно поставить во взаимно однозначное соответствие целые числа от 0 до 255, целые числа от-128 до 127, 16-пары цифр или элементы какой-то 256-другого элементного множества.

Целые числа подаются в компьютере преимущественно в двух формах — без-знаковой и знаковой. Эти формы называются кодами. Дальше числа отождествляются с их представлением, хотя с точки зрения математики это есть ошибочным.

Беззнаковые коды занимают несколько байтов (чаще всего, 1,2,4 или 8). Байты нумеруются, начиная с 0. Биты внутри байтов нумеруются от 0 до 7. N байтов содержат 8N бит, поэтому используют также сквозную нумерацию бит — от 0 до 8N-1 (от младших до старших). Все возможные последовательности бит представляют числа от 0 до 28лм . Соответствие между кодами и числами при разных значениях представлено в такой таблице 3.

Знаковые коды также занимают 1,2,4 или 8 байт. Старший бит представляет знак числа: 0 — «+», 1 — «-».числа представляются так же, как и беззнаку, лишь за счет знакового бита их диапазон — от 0 до 28ЛМ -1. Такое представление называется прямым кодом. Например, число 28ЛМ -1 имеет прямой код 011… 1.

 

Коды

Числа

N=1

/V = 2

N = 4

11…11

28W-1

255

65535

4394967295

11…10

2w-2

254

65534

4394967294

11…01

28Л/-3

253

65533

4394967293

         

10…00

2in-i

128

32768

2147483548

01…11

2иг-і _t

127

32767

2147483647

   

. . .

   

00…10

2

2

2

2

00…01

1

1

1

1

00…00

0

0

0

0

Отрицательные числа представлены так называемым дополнительным кодом. Код отрицательного числа А обозначается D (А) и образовывается так.

1.  За прямым кодом числа |А| заменой всех 0 на 1 и всех 1 на 0 строим обратный код R{A) .

2.  За К(А) как беззнаковым целым числом вычисляем код Г>(А) = Я(А)+1.

Пример. Построим двобайтовий дополнительный код числа -144.

 

Прямой код \А\

0000   0000   1001   0000

Обратный код R(A)

1111  1111  0110   1111

Добавление 1

1

Дополнительный код D(A)

1111  1111  0111  0000

«Восстановить» за дополнительным кодом от’ емкое число можно в возвратном порядке.

1.     D(A)   рассматриваем  как беззнаковое целое и обчис­
 люємо R (А)   = D (А) -1.

2.    Код,  обратный к R(A) ,  является прямым кодом числа  |А|.
Тем не менее можно обойтись без отнимания. Очевидно, что D(A) = ЩА\ -1),

т.е., например, дополнительный код числа-144 вместе с тем является обратным кодом числа -143. Тогда код R(_D{A)) является прямым кодом числа \А \ — 1. Тогда прямой код \А\ можно получить так.:

  1. 1.       Строим код K(D(A)) ,   обратный к  D(A) .
  2. 2.       К R(D(A))   как беззнахового целого прибавляем  1. 

Таблица 4

 

Коды

Числа

N=1

N = 2

N=4

01~.11

28ЛМ-1

127

32767

2147483647

       
00…1Q

2

2

2

2

00…01

1

1

1

1

00…00

0

0

0

0

11…11

-1

-1

-1

-1

11…10

-2

-2

-2

-2

11…01

-3

-3

-3

-3

       
10…00

_2клч

-128

-32768

-2147483548

Как видим, отрицательных чисел на одно больше, чем додатних.

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

Для действительных чисел чаще всего используют 4,6,8 или 10 байт, разделенных на поля (последовательности бит) <знак><порядокХмантиса>. Эти поля означают такое.

Поле <знак> имеет длину 1 бит, его значение 0 представляет знак «+», 1 — знак «-». Поле <порядок> в некоторый специальный способ задает показатель степени числа 2 (он может быть как додатним, так и отрицательным). Поле <ман-тиса> означает дробовую часть — неотъемлемое число строго меньше 1.

Поля представляют число в такой способ. Мантисса прибавляется до 1, сумма множится на степень числа 2, заданный порядком, и учитывается знак. Итак, число является значением выражения вида:

±(\+дробовая часть)*!»»™3‘»»‘.

Сумма в этом выражении не меньше 1 и строго меньше 2\ поэтому говорят, что это представление числа есть нормализованным.

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

ЗАДАЧИ

1. Запишите число как сумму степеней основы системы исчисления с:

а) 5768;           Ь) 842,413;            с) 12,223;       d)A09,7F16.

  1. Переведите десятичное число в римскую систему записи: а) 55;         Ь)995;    с) 1547.
  2. Переведите римскую запись чисел в арабский (позиционный десятичный): a)LX;   b)CXI;   c)MDCCCXH;    d)MCMLXI.

4.  Запишите число как сумму степеней основы системы исчисления с и определите десятичную запись числа:

а) 2,336;           Ь) 291,40615;      с) 245,5678;    сии)Л09,С3513;

Сочинение! Обязательно сохрани - » Беззнаковые коды . Потом не будешь искать!


Всезнайкин блог © 2009-2015