Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Практическое занятие №5. Представление числовой информации в памяти компьютера.

 

Для представления любой информации в памяти ЭВМ используется двоичный способ кодирования.

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (адрес ). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машиннымсловом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д.

Целые числа типа Integer лежат в диапазоне от –32768 (–215) до 32767 (215 – 1) и для их хранения отводится 2 байта. Длинное целое типа LongInt лежит в диапазоне от –231 до 231 – 1 и размещается в 4 байтах. Короткое целое типа Short Integer лежит в диапазоне от –27 до 27 – 1 и размещается в 1 байте и т.д.

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

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

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

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

2) инвертировать его (заменить 1 - нулями, нули - 1);

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

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

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

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

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

Примеры выполнения заданий

1.Представьте числа 3710 и -3710 в прямом коде в формате integer, затем запишите в шестнадцатеричном коде.

3710 = 1001012.

Занесем результат в разрядную сетку:

знак числа младший разряд

                               

-3710 = -1001012.

Занесем результат в разрядную сетку:

                               

3710 = 2516

2.Постройте дополнительный восьмиразрядный код для чисел
-12810, -12710 и -010, затем запишите в шестнадцатеричном коде.

Число -128 -127 -0
Прямой код 1000 0000 0111 1111 0000 0000
Инверсный код 0111 1111 1000 0000 1111 1111
Дополнит. Код 1000 0000 1000 0001 0000 0000
D16      

 

3.Укажите десятичные числа, имеющие следующее представление в дополнительном коде в формате integer:

а) 0000000000010111. Поскольку в старшем разряде записан нуль, то результат будет положительным. Это код числа 23.

б) 1111111111000000. Здесь записан код отрицательного числа. Исполняем алгоритм:

1) 11111111110000002 – 12 = 11111111101111112;

2) 00000000010000002;

3) 10000002 = 1× 26 = 6410. Ответ: -6410

 

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




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 448; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.