Представление чисел в ПК (Семинары)

PDF-файл Представление чисел в ПК (Семинары) Архитектура ЭВМ (37467): Семинары - 2 семестрПредставление чисел в ПК (Семинары) - PDF (37467) - СтудИзба2019-04-28СтудИзба

Описание файла

Файл "Представление чисел в ПК" внутри архива находится в папке "Семинары". PDF-файл из архива "Семинары", который расположен в категории "". Всё это находится в предмете "архитектура эвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

А. А. ВылитокПредставление чисел в ЭВМ1. Информация и данныеИнформация (от лат. information — разъяснение, изложение) — содержание(смысл) сообщения или сигнала, сведения, рассматриваемые в процессе их передачиили восприятия. При помощи компьютеров (ЭВМ) информация может передаваться вразличных формах: число, текст, аудио, видео и другие.Информация воспринимается человеком и может вызвать у него ту или инуюреакцию. Разные люди из одного и того же сообщения могут извлечь разноеколичество информации. Профессиональный музыкант, например, способен по нотнойзаписи музыкального произведения получить больше сведений о его исполнении, чемпрограммист, а программист по тексту программы может рассказать о ее поведениибольше, чем музыкант.Компьютеры имеют дело не с информацией, а с данными.

Получив исходныеданные, они «механически» перерабатывают их по определенным алгоритмам ввыходные данные (результаты), из которых человеку обычно легче извлекатьинформацию, чем из исходных данных. Получив на входе арифметическое выражение«(13+27)•2», компьютер на выход выдает эквивалентное выражение «80», значение(смысл) которого человеку воспринять легче (не надо совершать в уме или на бумагеарифметические действия).2.

Представление данных в компьютереОбычно входные и выходные данные представляются в форме, удобной длячеловека. Числа люди привыкли изображать в десятичной системе счисления. Длякомпьютера удобнее двоичная система. Это объясняется тем, что технически гораздопроще реализовать устройства (например, запоминающий элемент) с двумя, а не сдесятью устойчивыми состояниями (есть электрический ток — нет тока, намагничен —не намагничен и т.п.). Можно считать, что одно из двух состояний означает единицу,другое — ноль.Любые данные (числа, символы, графические и звуковые образы) в компьютерепредставляются в виде последовательностей из нулей и единиц. Этипоследовательности можно считать словами в алфавите {0, 1}, так что обработкуданных внутри компьютера можно воспринимать как преобразование слов из нулей иединиц по правилам, зафиксированным в микросхемах процессора.

Такой взглядроднит вычислительные машины с абстрактными вычислителями. Вспомните машиныТьюринга или нормальные алгоритмы Маркова.Элементпоследовательностиизнулейиединиц(члентакойпоследовательности) называют битом. Именительный падеж — бит (сокр. от англ. bit,BInary uniT — двоичный разряд).Отображение внешней информации во внутреннее представление называетсякодированием. Кодом (франц. code, от лат. codex — свод законов) называют как самспособ отображения, так и множество слов (кодовых комбинаций), используемых прикодировании.-1-3.

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

Целые числа без знакаКак определить, какое целое число представляет тот или иной битовый набор?Возможны разные способы. Например, можно считать, что представляемое число равноколичеству единиц в битовым наборе («единичная» система счисления). Такой способпозволяет представить всего k различных целых чисел от 0 до k − 1, где k — длинанабора. Очевидно, что этот способ неэкономный — одному и тому же числу могутсоответствовать несколько различных наборов. Количество всевозможных битовыхнаборов длины k равно 2k, поэтому выгоднее различным наборам поставить всоответствие различные числа. Это позволит представить 2k различных чисел.

Обычнорассматривают диапазон целых чисел [N, N + 2k). При N = 0 имеем представлениебеззнаковых (неотрицательных) чисел от 0 до 2k − 1.Существует всего (2k)! (количество перестановок из 2k элементов) способовзакодировать беззнаковые числа битовыми наборами. Среди всех этих теоретическивозможных способов представления чисел наиболее удобен такой: битовый набор,соответствующий числу, является k-разрядной записью этого числа в двоичной системесчисления. Таким образом, можно реализовать арифметические операции над числами,используя известные школьные алгоритмы поразрядной обработки для битовыхнаборов.3.2. Целые числа со знакомДля представления знаковых целых чисел используются три способа:1) прямой код;2) обратный код;3) дополнительный код.Все три способа используют самый левый (старший) разряд битового наборадлины k для кодирования знака числа: знак «плюс» кодируется нулем, а «минус» —единицей.

Остальные k − 1 разрядов (называемые мантиссой или цифровой частью)используются для представления абсолютной величины числа.3.2.1. Положительные целые числа (и число 0)Положительные числа в прямом, обратном и дополнительном кодахизображаются одинаково — цифровая часть содержит двоичную запись числа, взнаковом разряде содержится 0.Например, для k = 8:Число 110 = 120000Число 12710 = 111111120Знак числа «+»00101111111Знак числа «+»-2-Диапазон представимых чисел: 0 .. 2k − 1 − 13.2.2.

Отрицательные целые числаОтрицательные числа в прямом, обратном и дополнительном кодах имеют разноеизображение.3.2.2.1. Прямой код отрицательных чиселВ знаковый разряд помещается цифра 1, а в разряды цифровой части числа —двоичный код его абсолютной величины.Пример (при k = 8):Прямой код числа −1100000Прямой код числа −1270111Знак числа «−»111111Знак числа «−»Диапазон представимых чисел: −(2k − 1 − 1) .. 03.2.2.2.

Обратный код отрицательных чиселПолучается инвертированием всех цифр двоичного кода абсолютной величинычисла, включая разряд знака: нули заменяются единицами, а единицы — нулями.Пример (k = 8):Число −1Число −127Код модуля числа:Код модуля числа:00000001Обратный код числа:1111110111111100Обратный код числа:1010Знак числа «−»0000Знак числа «−»Диапазон представимых чисел: −(2k − 1 − 1) .. 03.2.2.3. Дополнительный код отрицательных чиселПолучается образованием обратного кода с последующим прибавлениемединицы к его младшему разряду.

Например:Дополнительный код числа −111111111Знак числа «−»Дополнительный код числа −12710000001Знак числа «−»Диапазон представимых чисел: −2k − 1 .. −1-3-Заметим, что ноль имеет два представления в прямом и обратном коде, а вдополнительном коде представление нуля единственно.3.2.3. Вычисление обратного и дополнительного кодовОдин и тот же битовый набор длины k можно интерпретировать по-разному:1) как представление некоторого числа без знака;2) как представление некоторого числа со знаком (в прямом, обратном илидополнительном коде).Компьютер не знает, что именно представляет тот или иной битовый набор —для него это просто слово в алфавите {0, 1}, а смысл этого слова известенпрограммисту.

Числовым значением такого слова будем называть неотрицательноецелое, двоичная (k-разрядная) запись которого совпадает с данным словом.Пусть x — число со знаком. Тогда числовое значение его обратного идополнительного кодов можно определить с помощью функций обр(x) и доп(x):⎧ x, если x ≥ 0обр( x) = ⎨ k⎩2 − 1 − x , если x < 0⎧ x, если x ≥ 0доп( x) = ⎨ k⎩2 − x , если x < 0Например, при k = 8:обр(+1) = доп(+1) = 1= 0000 00012;обр(−127) = 255 − 127 = 128 = 1000 00002;доп(–127) = 256 − 127 = 129 = 1000 00012;обр(−1) = 255 − 1 = 254 = 1111 11102;доп(–1) = 256 − 1 = 255 = 1111 11112;доп(−128) = 256 − 128 = 128 = 1 000 00002.

В обратном коде число −128 непредставимо.Ниже приведена таблица, демонстрирующая различные интерпретации битовыхнаборов длины 3.ЧтопредставляетБеззнаковоецелоеЗнаковоецелое впрямом кодеЗнаковоецелое вобратномкодеЗнаковое целоевдополнительномкоде0000+0+0+00011+1+1+10102+2+2+20113+3+3+31004−0−3−41015−1−2−31106−2−1−21117−3−0−1Битовыйнабор (k = 3)-4-3.2.4.

Диапазоны значений целых чиселЦелые числа обычно занимают в памяти компьютера один, два или четыребайта. В суперкомпьютерах могут быть и более «длинные» целые.Форматчисла вбайтахДиапазонЗапись с порядкомОбычная записьСо знакомБез знакаСо знакомБез знака1−27 .. 27 − 10..28 − 1−128 .. 1270..2552−215 .. 215 − 10..216 − 1–32 768 .. 32 7670..65 5354−231 .. 231 − 10..232 − 1−2 147 483 648 ..2 147 483 6470..4 294 967 2953.3. Арифметические действия над целыми числамиОбратный и дополнительный коды применяются особенно широко, так какпозволяют упростить конструкцию арифметико-логического устройства (АЛУ)компьютера путем замены некоторых арифметических операций сложением.Обычно десятичные числа при вводе в машину автоматически преобразуются вдвоичный код (целые без знака), обратный или дополнительный код (целые со знаком)и в таком виде хранятся, перемещаются и участвуют в операциях.

При выводерезультатов из машины происходит обратное преобразование в десятичные числа.3.3.1. Сложение и вычитание3.3.1.1. Сложение и вычитание чисел без знакаСложение и вычитание беззнаковых чисел происходит по обычным дляпозиционных систем счисления алгоритмам.Примеры (для k = 3):0012 + 1002 = 1012;1012 − 0102 = 0112.Ситуации, когда уменьшаемое меньше вычитаемого или когда результат суммыне умещается в k разрядов, считаются ошибочными и должны отслеживатьсяустройством компьютера.

Реакция на такие ошибки может быть различной в разныхтипах компьютеров.3.3.1.2. Сложение и вычитание чисел со знаком в обратном кодеСложение в обратном коде происходит следующим образом: по обычномуалгоритму складываются все разряды, включая знаковый. Результат такого сложениядля k-разрядных наборов имеет длину k + 1 (самый левый разряд результата равенединице, если был перенос при сложении старших разрядов операндов, иначе — нулю).Значение левого k + 1-го разряда добавляется к младшему разряду результата.Получаем k-разрядный набор, который и будет суммой двух чисел в обратном коде.Пример (k = 3):+310 + (−110 ) = 0112 + 1102 = 10012 B 0012 + 1 = 0102 = +210.Вычитание чисел в обратном коде x − y сводится к сложению x + (−y).-5-3.3.1.3.

Сложение и вычитание чисел со знаком в дополнительном кодеВ дополнительном коде сложение происходит так: по обычному алгоритмускладываются все разряды, включая знаковый; единица переноса в k + 1-й разрядотбрасывается (т.е. сложение по модулю 2k).Пример (k = 3):+310 + (−110) = 0112 + 1112 = 10102 B 0102 = +210.При вычитании тоже действует обычный алгоритм, причем если уменьшаемоеменьше вычитаемого, к двоичному коду уменьшаемого слева приписывается единица(т.е. добавляется 2k ) и только после этого производится вычитание (такой способназывается вычитание по модулю 2k).Пример (k = 3):110 − 310 = 0012 − 0112 B 10012 − 0112 = 1102 = −210.Если x и y — числовые значения дополнительного кода знаковых чисел, точисловые значения дополнительных кодов суммы и разности определяются последующим формулам:⎧ x + y , если x + y < 2 k ,⎪k( x + y ) mod 2 = ⎨⎪⎩ x + y − 2 k , если x + y ≥ 2 k⎧ x − y, если x ≥ y,( x − y ) mod 2 k = ⎨ k⎩(2 + x) − y, если x < y3.3.2.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее