Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

2.4 Представление числовых данных. Система счисления

При выполнении математических расчетов внутри ЭВМ числа могут быть представлены в естественной и нормальной форме записи.

Например:  естественная форма записи числа - 173,856

Для записи  такого числа машинное слово (операнд) делится на два фиксированных поля. Первое поле отводится для записи целой части числа, второе – для записи дробной части числа. Старший разряд предназначен для указания знака числа.  Номерами указаны разряды машинного слова.

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

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0


Рисунок 2.4.1 -  представление числа с фиксированной точкой

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

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Рисунок 2.4.2 – представление целого числа

Нормальная форма записи числа имеет следующий вид:

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

Следующий рисунок представляет форму числа с плавающей точкой на примере 32-х разрядного машинного слова.

НЕ нашли? Не то? Что вы ищете?

31

30

29

24

23

22

1

0


Рисунок 2.4.3 – представление числа с плавающей точкой

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

Для записи чисел могут использоваться не только цифры, но и буквы (например, запись римских цифр — XXI). Одно и то же число может быть по-разному представлено в различных системах счисления.

В зависимости от способа изображения чисел системы счисления делятся на позиционные и непозиционные.

В позиционной системе счисления количественное значение каждой цифры числа зависит от того, в каком месте (позиции или разряде) записана та или иная цифра этого числа. Например, меняя позицию цифры 2 в десятичной системе счисления, можно записать разные по величине десятичные числа, например 2; 20; 2000; 0,02 и т. д.

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

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

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

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

восьмеричной ( любое число представляется с помощью восьми цифр — 0, 1, 2... 7);

шестнадцатеричной (используемые символы-цифры — 0, 1, 2... 9 и буквы — А, В, С, D, Е, F, заменяющие числа 10, 11, 12, 13, 14, 15 соответственно).

2.5 Знаковые представления и представления в дополнительном коде

 Легко использовать байты, слова или двойные слова для представления целых положительных чисел — от 0 до 255, 65 535 или 4 294 967 295 соответственно. Чтобы использовать те же самые байты или слова для представления отрицательных чисел, существует специальная операция, известная как дополнение до двух. Для изменения знака числа выполняют инверсию, то есть заменяют в двоичном представлении числа все единицы нулями и нули единицами, а затем прибавляют 1.

Например, пусть используются переменные типа слова:

150 = 0096h =  0000 0000 1001 0110b

инверсия дает: 1111 1111 0110 1001b

+1 = 1111 1111 0110 1010b = 0FF6Ah

Проверим, что полученное число на самом деле -150: сумма с +150 должна, быть равна нулю:

+150 + (-150) = 0096h + FF6Ah = 10000h ;

Единица в l6-м разряде не помещается в слово, и значит, мы действительно получили 0. В этом формате старший (7-й, 15-й, 31-й для байта, слова, двойного слова соответственно) бит всегда соответствует знаку числа 0 — для положительных и 1 — для отрицательных. Таким образом, схема с использованием дополнения до двух выделяет для положительных и отрицательных чисел равные диапазоны: -128 — +127 — для байта, -32 768 — +32 767 — для слов, -2 147 483 648 — +2 147 483 647 — для двойных слов.

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

-32768 (-215) до 32677 (215-1) и для их хранения отводится 2 байта: типа LongInt - в диапазоне от -231 до 231-1 и размещаются в 4 байтах: типа Word - в диапазоне от 0 до 65535 (216-1) используется 2 байта и т. д.

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

Дополнительный код положительного числа совпадает с его прямым кодом. Прямой код целого числа может быть представлен следующим образом: число переводиться в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Например, если число 37(10) = 100101(2) объявлено величиной типа Integer, то его прямым кодом будет 0000000000100101, а если величиной типа LongInt, то его прямой код будет 00000000000000000000000000100101. Для более компактной записи чаще используют шестнадцатеричный код. Полученные коды можно переписать соответственно как 0025(16) и 00000025(16).

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

·  записать прямой код модуля числа;

·  инвертировать его (заменить единицы нулями, нули - единицами);

·  прибавить к инверсионному коду единицу.

Например, запишем дополнительный код числа -37, интерпретируя его как величину типа LongInt:

прямой код числа 37 есть  000000000000000000000000000100101

инверсный код   11111111111111111111111111011010

дополнительный код 11111111111111111111111111011011 или FFFFFFDB(16)

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

·  вычесть из кода 1;

·  инвертировать код;

·  перевести в десятичную систему счисления. Полученное число записать со знаком минус.

2.6  Базовые операции с битами

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

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

Базовыми операциями с битами являются следующие операции:

И «(Логическое) И» (and) — аналог конъюнкции в логике

НЕ «(Логическое) НЕ» (not), инвертирование — аналог отрицания в логике

ИЛИ «(Логическое) ИЛИ» (or) — аналог дизъюнкции в логике.

«Исключающее ИЛИ» (xor), «сложение по модулю 2» — аналог исключающего ИЛИ в логике.

2.7  Представление нечисловых данных

Для представления всех букв, цифр и знаков, появляющихся на экране компьютера, обычно используется всего один байт. Символы, соответствующие значениям от 0 до 127, то есть первой половине всех возможных значений байта, были стандартизованы и названы символами ASCII (хотя часто кодами ASCII называют всю таблицу из 256 символов). Сюда входят некоторые управляющие коды (символ с кодом 0Dh — конец строки), знаки препинания, цифры (символы с кодами 30h – 39h), большие (41h – 5Ah) и маленькие (61h – 7Ah) латинские буквы. Вторая половина символьных кодов используется для алфавитов других языков и псевдографики, и набор и порядок символов в ней различаются в разных странах и даже в пределах одной страны. Например, для букв одного только русского языка существует пять разных вариантов размещения во второй половине таблицы символов ASCII. Существует также стандарт, использующий слова для хранения кодов символов, известный как UNICODE или UCS-2, и даже двойные слова (UCS-4).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6