Меню сайта
Вход на сайт
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Наш опрос
Оцените мой сайт
Всего ответов: 25
Статистика

Онлайн всего: 10
Гостей: 10
Пользователей: 0

Представление числовой информации. Целые и вещественные числа.

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

Для представления чисел в памяти ПК используются два формата:
-формат с фиксированной точкой (запятой) целые числа;
-формат с плавающей точкой (запятой) вещественные числа.

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

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

В К-разрядной ячейке может храниться 2к различных значений целых чисел.

Диапазон значений целых беззнаковых чисел (только положительные):
от 0 до 2к - 1
для 16-разрядной ячейки от 0 до 65535
для 8-разрядной ячейки от 0 до 255

Диапазон значений целых чисел со знаком (и отрицательные, и положительные в равном количестве):
от -2к-1 до 2к-1-1
для 16-разрядной ячейки от -32768 до 32767
для 8-разрядной ячейки от -128 до 127

Чтобы получить внутреннее представление целого положительного числа N, хранящегося в К-разрядной ячейке, необходимо:
1. перевести число N в двоичную систему счисления;
2. полученный результат дополнить слева незначащими нулями до К разрядов. 
Пример 1:

Получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке.
Решение:
N=1607=110010001112.
Внутреннее представление этого числа будет: 0000 0110 0100 0111. Шестнадцатеричная форма внутреннего представления числа: 0647.

 

2. Для представления целого отрицательного числа используется дополнительный код.
Допольнительным кодом двоичного числа X в N-разрядной ячейке является число, дополняющее его до значения 2N.

Получение дополнительного кода:
1. получить внутреннее представление положительного числа N (прямой код);
2. получить обратный код этого числа заменой 0 на 1 или 1 на 0 (обратный код);
3. к полученному числу прибавить 1. 
Положительное число в прямом, обратном и дополнительном кодах не меняют свое изображение.

Использование дополнительного кода позволяет заменить операцию вычитания на операцию сложения. 
A-B=A+(-B). 
Процессору достаточно уметь лишь складывать числа.
Старший, К-й разряд во внутреннем представлении любого положительного числа равен 0, отрицательного числа равен 1. Поэтому этот разряд называется знаковым разрядом

Пример 2: Получить внутреннее представление целого отрицательного числа - 1607.

 

Внутреннее представление положительного числа  000011001000111
 Обратный код 111100110111000 
 Дополнительный код 111100110111001 

шестнадцатиричная форма - F9B9.

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

Вещественные числа представляются в ПК в форме с плавающей точкой.
Этот формат использует представление вещественного числа R в виде произведения мантиссы m на основание системы счисления p в некоторой целой степени n которую называют порядком: R=m*pn
Представление числа в форме с плавающей точкой неоднозначно.

ПРИМЕР

25.324=25324*101=0.0025324*104=2532.4*10-2

В ЭВМ используют нормализованное представление числа в форме с плавывающей точкой. Мантисса в нормализованном представлении должна удовлетворять условию: 0.1p?m<1p
Иначе говоря, мантисса меньше 1 и первая значащая цифра - не 0.

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не храняться). Следовательно, внутреннее представление вещественного числа сводиться к представлению пары целых чисел: мантиссы и порядка.

Пример 3: Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.

Решение:
1) Приведем его в двоичную систему счисления с 24 значащими цифрами: 250,187510=1111 1010 , 0011 0000 0000 00002.
2) Запишем в форме нормлизованного двоичного числа с плавающей точкой: 0,1111 1010 0011 0000 0000 0000*1021000. Здесь мантисса, основание системы счисления (210=102) и порядок (810=10002) записаны в двоичной системе.
3) Вычислим машинный порядок в двоичной системе счисления: Mp2= 1000 + 100 0000 =100 1000.
4) Запишем представление числа в 4-х байтовой ячейке памяти с учетом знака числа:

 

0 1001000   11111010  00110000 00000000 

 

31         24  23                                           0

Шестнадцатеричная форма: 48FA3000.


Пример2: По шестнадцатеричной форме внутреннего представления числа в форме с плавающей точкой C9811000 восстановить само число.

Решение:

1) Перейдем к двоичному представлению числа в 4-х байтовой ячейке, заменив каждую шестнадцатеричную цифру 4-мя двоичными цифрами:

1100 1001 1000 0001 0001 0000 0000 0000

 

1 1001001 10000001 00010000 00000000
31   23   0

2) Заметим, что получен код отрицательного числа, поскольку в старшем разряде с номером 31 записана 1. Получим порядок числа: р=10010012-10000002=10012=910.
3) Запишем в форме нормализованного двоичного числа с плавающей точкой с учетом знака числа:
-0,1000 0001 0001 0000 0000 0000 *21001
4) Число в двоичной системе счисления имеет вид: -100000010,0012.
5) Переведем число в десятичную систему счисления:
-100000010,0012= -(1*28+1*21+1*2-3)= -258,12510


Задания:

Как решать задачи

Практическая работа 7(уровень В)