Лекция 3. Символы могут быть управляющими

Символы могут быть управляющими. В кодировке ASCII

Управляющие: 0...31,127

Видимые 32,...,126

Ctrl+I -> 9 -> 09h

@ -> 64 -> 40h

4 -> 52-> 34h

Коды от 128 до 255 выделены для национальных символов и алфавитов и символов псевдографики. Для кириллицы используется кодовая страница cp-866 (А ->128->80h; a ->160->A0h). Стандартная для Windows: ANSI. Для кириллицы cp-1251. Unix и Mac: KOI-8.

Unicode (2х байтовая кодировка)

ЦЕЛЫЕ ЧИСЛА

Целые числа без знака это положительные числа или 0. Они могут занимать 8, 16, 32 разряда. Нулевой бит является младшим и является краним правым. биты 7, 15, и 31старшие и находятся в левом краю. Для целых чисел без знака все биты являются информационными.

Формат представления 32х разрядного целого числа без знака

        ИНФОРМАЦИОННОЕ ПОЛЕ        
        ...............        
старший разряд               младший разряд

Сколько требуется и каково машинное (внутреннее представление) числа 40000

40000d-> 1001 1100 0100 0000b -> 9C40

для хранения этого числа требуется минимум 16 разрядов (unsigned int)

Д\З какой диапазон допустимых значений может иметь целое число без знака длиной 64 разряда

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

unsigned int 65535

int -32768...32767

Это происходит по тому, что не все биты отводятся под информацию. Старший бит отводится под знак.

если знаковый бит = 0 число положительное иначе отрицательное.

ФОРМАТ ПРЕДСТАВЛЕНИЯ 32х РАЗРЯДНОГО ЧИСЛА СО ЗНАКОМ

S Информ ационно е поле          
        .............          
знак числа информ ационн ые разр яды          

Пример

Сколько требуется и каково машинное (внутреннее представление) положительного числа 127

127d-> 0111 1111b-> 7Fh

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

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

1. dec-> bin

2. инверсия bin кода

3. инвертированный код +1

Пример

-1607dec ->1607dec-> 0110 0100 0111b->647h

0000 0110 0100 0111b-> 1111 1001 1011 1000b -> 1111 1001 1011 1001b-> F9B9h

В памяти компьютера это число будет хранится задом на перед -> B9F9h

MASM генерирует листинг задом на перед, а компилятор TASM в прямом порядке.

Вывод: для разных чисел двоичный код может быть один и тот же. Только программист знает, что представляет этот двоичный код.

Д\З Что будет если попытаться втиснуть в 4х битовую ячейку памяти числа 20 и -12.

ВЕЩЕСТВЕННЫЕ ЧИСЛА (float, double, long double) числа с плавающей точкой.

Эти числа обрабатываются сопроцессором.

Представление вещественных чисел в 2ом нормализованном виде.

Нормализовать - представить число таким образом, что бы оно начиналось с 1.

Общая формула:

1.m*2^p

m- мантисса

p - порядок

1) -+1.0d-> -+1.0*2^0b

2) -+0.5d-> -+0.1b-> -+1.0*2^-1b

3) -+0.703125d -> -+ 0101 101b -> -+1.01101*2^-1b

4) -+117.25d-> -+1110101.01b-> 1.11010101*2^6b

S характеристика     Нормализовання мантиса          
    ...     ... ... ... ...  
БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ БИТЫ

Характеристика = смещение + порядок

Смещение - число равное половине максимально возможного которое может поместится в поле характеристик.

F7-+порядок

Поскольку мантисса всегда нормализована нет смысла хранить явно точку.

между 23 и 22 битом находится скрытый разряд для хранения нормализующей единицы.

1.0d-> 1.0*2^0b

x=7F+0=7F

                    ...  

3F80 0000


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: