Практическая работа Представление чисел в памяти компьютера 10 класс
prerek.ru
с. 1
Муниципальное общеобразовательное учреждение –
Средняя общеобразовательная школа №13
г. Нерюнгри Республики Саха (Якутия)
Контрольная работа по теме:
Представление чисел в памяти компьютера
Авторы:
Лейчак Н.В.
учитель информатики и математики
высшей категории СОШ №13
Логинова З.В.
учитель информатики
первой категории СОШ №13
Нерюнгри 2011
Пояснительная записка 3
Вариант № 1 4
Вариант № 2 4
Вариант № 3 6
Вариант № 4 6
Вариант № 5 7
Вариант № 6 7
Вариант № 7 8
Вариант № 8 8
Вариант № 9 9
Вариант № 10 9
Ответы 10
Список используемой литературы 11
Тема «Представление чисел в памяти компьютера» входит в базисный учебный план федерального стандарта по Информатике и ИКТ. Большое внимание этой теме уделяется на профильном уровне.
Цели контрольной работы — закрепить теоретические знания по теме «Представление чисел в памяти компьютера»; сформировать практические навыки:
- выполнение сложения и вычитания в дополнительных кодах;
- арифметические операции для чисел записанных в экспонициальной форме;
- представление вещественных чисел в формате с плавающей запятой;
- определение десятичного числа по его представлению в формате single в 16 – ричной системе счисления
Контрольная работа составлена в 10 вариантах, каждый из которых включает 6 практических заданий
При выполнении контрольной работы необходимо соблюдать следующие требования:
- работа с калькулятором недопустима;
- указывать ход решения задания;
- если есть промежуточные действия, их надо записывать;
Оценивание работы:
- правильно выполненное задание – 1 балл,
- решение правильное, но допущена вычислительная ошибка – 0,5 балла,
- иначе — 0 баллов
Максимальное количество баллов – 6
На «5» — 5 баллов
На «4» — 4 баллов
На «3» — 3 балла
«2» — 0-2 балла
Представление чисел в памяти ПК
- Представить числа в прямом, обратном и дополнительном кодах, интерпретируя их как восьмибитовое целое со знаком: 13 и -19.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0110101101111000; b) 1110100100110101;
- Решить в 8-разрядных дополнительных кодах пример: 13-19=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Сложить и умножить два числа, записанных в экспонициальной форме: 0,28Е2 и 0,02Е5. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: -13,5
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатиричной системе счисления A=C362000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 10 и -15.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0000110100001001; b) 1001110011000000;
- Решить в 8-разрядных дополнительных кодах пример: 15-10=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Вычесть и разделить два числа, записанных в экспонициальной форме: 0,08Е2 и 0,4Е1. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 15,25
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатиричной системе счисления A=434D000016. Тип переменной A -single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 16 и -18.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0001101111111001; b) 1011101101001101;
- Решить в 8-разрядных дополнительных кодах пример: 16-18=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Сложить и разделить два числа, записанных в экспонициальной форме: 0,32Е-2 и 0,08Е2. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: -16,5
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=4288000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 20 и -14.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a)0001101010101010 ; b)1011110111001011;
- Решить в 8-разрядных дополнительных кодах пример: 20-14=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Вычесть и умножить два числа, записанных в экспонициальной форме: 0,27Е2 и 0,03Е-1. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 20,25
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=C180000016. Тип переменной A -single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 17 и -12.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0000010101011010; b)1001110100001011;
- Решить в 8-разрядных дополнительных кодах пример: 17-12=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Сложить и умножить два числа, записанных в экспонициальной форме: 0,16Е3 и 0,04Е2. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: -17,5
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=C140000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 11 и -21.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0100011011110111; b) 1011101001100000;
- Решить в 8-разрядных дополнительных кодах пример: 11-21=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Вычесть и разделить два числа, записанных в экспонициальной форме: 0,18Е-3 и 0,9Е2. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 21,25
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатиричной системе счисления A=431C000016. Тип переменной A -single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 22 и -9.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0111011101000111; b) 1010110110101110;
- Решить в 8-разрядных дополнительных кодах пример: 22-9=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Сложить и разделить два числа, записанных в экспонициальной форме: 0,09Е2 и 0,03Е-1. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: -22,5
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=4325000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 8 и -23.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0111100011001000; b)1111011101101101
- Решить в 8-разрядных дополнительных кодах пример: 8-23=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Вычесть и умножить два числа, записанных в экспонициальной форме: 0,27Е2 и 0,3Е5. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 23,25
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=C32A000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 19 и -14.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a)0110010010010101 ; b)1000011111110001;
- Решить в 8-разрядных дополнительных кодах пример: 19-14=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Сложить и умножить два числа, записанных в экспонициальной форме: 0,36Е2 и 0,3Е4. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: -14,5
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=4480000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
Представление чисел в памяти ПК
- Представить два числа в прямом, обратном и дополнительном 8-разрядном кодах: 13 и -18.
- Запишите в десятичной системе счисления целое число, если дан его дополнительный код: a) 0011010111010110; b) 1000000110101110;
- Решить в 8-разрядных дополнительных кодах пример: 13-18=? Ответ записать в дополнительном коде и перевести в десятичную СС.
- Вычесть и разделить два числа, записанных в экспонициальной форме: 0,42Е-2 и 0,06Е3. Результат представить в нормализованной форме.
- Представить в 4-байтном формате с плавающей запятой десятичное вещественное число: 18,25.
- Значение переменной A представлено в формате с плавающей точкой в шестнадцатеричной системе счисления A=430F000016. Тип переменной A — single для языка PASCAL. Найдите десятичное значение числа А.
№ Варианта | Задание 1 | Задание 2 | Задание 3 | Задание 4 | Задание 5 | Задание 6 |
1 | 00001101;11101101 | 27512;-5835 | 11111010-6 | 0.2028E4;0.56E5 | 10000100 11011000 00000000 00000000 | -270 |
2 | 00001010;11110001 | 3337;-25408 | 000001015 | 0.4E1;0.2E1 | 00000100 11110100 00000000 00000000 | 205 |
3 | 00010000;11101110 | 7161;-17584 | 11111110-2 | 0.80032E1;4E-4 | 10000101 10000100 00000000 00000000 | 68 |
4 | 00010100;11110010 | 6826;-16949 | 000001106 | 0.26997E2;0.81E-1 | 00000101 10100100 00000000 00000000 | -16 |
5 | 00010001;11110100 | 1370;-25333 | 000001015 | 0.164E3;0.64E3 | 10000101 10001100 00000000 00000000 | -12 |
6 | 00001011;11101011 | 18767;-17824 | 11110110-10 | -0.8999982E2;0.2E-5 | 00000101 10101010 00000000 00000000 | -156 |
7 | 00010110;11110111 | 30535;-21074 | 00000110113 | 0.9003E1;0.3E4 | 10000101 10110100 00000000 00000000 | 165 |
8 | 00001000;11101001 | 30920;-2195 | 11110001-15 | -0.2999973E5;0.81E6 | 00000101 10111001 00000000 00000000 | -170 |
9 | 00010011;11110010 | 25749;-30735 | 000001015 | 0.3036E4;0.108E6 | 10000100 11101000 00000000 00000000 | 1024 |
10 | 00001101;11101110 | 13782;-32338 | 11111011-5 | -0.599958E2;0.7E-4 | 00000101 10010010 00000000 00000000 | 143 |
- Математические основы информатики. Элективный курс: Учебное пособие / Е.В. Андреева, Л.Л. Босова, И.Н. Фалина – 2-е изд., испр. – М.: БИНОМ. Лаборатория знаний, 2007. – 328 с.: ил.
- Задания из тестов абитуриентского тестирования
- Электронный задачник для 9-11 класса, автор © 2006-2010 Самсонова Ю. В. http://www.nerungri.edu.ru/~gym/gym1/samsonova/zadachnik/title.htm
с. 1
Контрольная работа № Нормализация отношений
42.77kb. 1 стр.
Источник: http://prerek.ru/safia/kontrolenaya-rabota-po-teme-predstavlenie-chisel-v-pamyati-kom/main.html
Уроки 9 — 12Представление чисел в компьютере
Главные правила представления данных в компьютере
Если бы мы могли заглянуть в содержание компьютерной памяти, то увидели бы там примерно то, что условно изображено на рис. 1.5.
Рисунок 1.5 отражает известное вам еще из курса информатики основной школы правило представления данных, которое назовем правилом № 1: данные (и программы) в памяти компьютера хранятся в двоичном виде, т. е. в виде цепочек единиц и нулей.
Современный компьютер может хранить и обрабатывать данные, представляющие информацию четырех видов: числовую, текстовую, графическую, звуковую. Двоичный код, изображенный на рис. 1.5, может относиться к любому виду данных.
Правило № 2: представление данных в компьютере дискретно.
Правило № 3: множество представимых в памяти компьютера величин ограничено и конечно.
Представление чисел
Сначала поясним на образном примере, что такое дискретность.
Дискретное множество состоит из отделенных друг от друга элементов. Например, песок дискретен, поскольку он состоит из отдельных песчинок.
А вода или масло непрерывны (в рамках наших ощущений, поскольку отдельные молекулы мы все равно ощутить не можем). Этот пример нужен нам только для аналогии.
Здесь мы не станем углубляться в изучение материального мира, а вернемся к предмету изучения информатики — информации.
Самым традиционным видом данных, с которым работают компьютеры, являются числа. ЭВМ первого поколения умели решать только математические задачи. Люди начали работать с числами еще с первобытных времен.
Первоначально человек оперировал лишь целыми положительными (натуральными) числами: 1, 2, 3, 4, … . Очевидно, что натуральный ряд — это дискретное множество чисел.
В математике ряд натуральных чисел бесконечен и не ограничен. С появлением в математике понятия отрицательного числа (Р. Декарт, XVII век в Европе; в Индии значительно раньше) оказалось, что множество целых чисел не ограничено как «справа», так и «слева». Покажем это на числовой оси (рис. 1.6), символы оо обозначают бесконечность.
Из сказанного следует вывод: множество целых чисел в математике дискретно и не ограничено. Отметим еще один факт: разность соседних чисел натурального ряда (данного и предыдущего) всегда равна единице. Эту величину назовем шагом числовой последовательности.
Любое вычислительное устройство (компьютер, калькулятор) может работать только с ограниченным множеством целых чисел. Возьмите в руки калькулятор, на индикаторном табло которого помещается 10 знаков. Самое большое положительное число, которое на него поместится:Самое большое по абсолютной величине (модулю) отрицательное число:
Аналогично дело обстоит и в компьютере.
Целые числа в компьютере
Правило № 4: в памяти компьютера числа хранятся в двоичной системе счисления*. С двоичной системой счисления вы знакомы из курса информатики 7-9 классов. Например, если под целое число выделяется ячейка памяти размером в 16 битов, то самое большое целое положительное число будет таким:
В десятичной системе счисления оно равно:
215 — 1 = 32 767.
* Конечно, и «внутри калькулятора» числа представляются в двоичном виде. Однако мы в это вдаваться не будем, рассмотрев лишь внешнее представление. Пример с калькулятором нам нужен был только для иллюстрации проблемы ограниченности.
Здесь первый бит играет роль знака числа. Ноль — признак положительного числа. Самое большое по модулю отрицательное число равно -32 768. Напомним (это было в курсе информатики основной школы), как получить его внутреннее представление:
1) перевести число 32 768 в двоичную систему счисления; это легко, поскольку 32 768 = 215:
1000000000000000;
2) инвертировать этот двоичный код, т. е. заменить нули на единицы, а единицы — на нули:
0111111111111111;
3) прибавить единицу к этому двоичному числу (складывать надо по правилам двоичной арифметики), в результате получим:
Единица в первом бите обозначает знак «минус». Не нужно думать, что полученный код — это «минус ноль». Этот код представляет число -32 768. Таковы правила машинного представления целых чисел. Данное представление называется дополнительным кодом.
Если под целое число в памяти компьютера отводится N битов, то диапазон значений целых чисел:
[-2N-1, 2N~1 — 1],т. е. ограниченность целого числа в компьютере возникает из-за ограничений на размер ячейки памяти. Отсюда же следует и конечность множества целых чисел.
Мы рассмотрели формат представления целых чисел со знаком, т. е. положительных и отрицательных. Бывает, что нужно работать только с положительными целыми числами. В таком случае используется формат представления целых чисел без знака. В этом формате самое маленькое число — ноль (все биты — нули), а самое большое число для 16-разрядной ячейки:В десятичной системе это 216 — 1 = 65 535, примерно в два раза больше по модулю, чем в представлении со знаком.
Из всего сказанного делаем вывод: целые числа в памяти компьютера — это дискретное, ограниченное и конечное множество.
Границы множества целых чисел зависят от размера выделяемой ячейки памяти под целое число, а также от формата: со знаком или без знака. Шаг в компьютерном представлении последовательности целых чисел, как и в математическом, остается равным единице.
Рисунок 1.7 отражает то обстоятельство, что при переходе от математического представления множества целых чисел к представлению, используемому в информатике (компьютере), происходит переход к ограниченности и конечности.
Вещественные числа в компьютере
Понятие вещественного (действительного) числа в математику ввел Исаак Ньютон в XVIII веке. В математике множество вещественных чисел непрерывно, бесконечно и не ограничено.
Оно включает в себя множество целых чисел и еще бесконечное множество нецелых чисел.
Между двумя любыми точками на числовой оси лежит бесконечное множество вещественных чисел, что и означает непрерывность множества.
Как мы говорили выше, числа в компьютере (в том числе и вещественные) представлены в двоичной системе счисления. Покажем, что множество вещественных чисел в компьютере дискретно, ограничено и конечно. Нетрудно догадаться, что это, так же как и в случае целых чисел, вытекает из ограничения размера ячейки памяти.
Снова для примера возьмем калькулятор с десятиразрядным индикаторным табло. Экспериментально докажем дискретность представления вещественных чисел. Выполним на калькуляторе деление 1 на 3.
Из математики вам известно, что 1/3 — это рациональная дробь, представление которой в виде десятичной дроби содержит бесконечное количество цифр: 0,3333333333… (3 в периоде).
На табло калькулятора вы увидите:
Первый разряд зарезервирован под знак числа. После запятой сохраняется 8 цифр, а остальные не вмещаются в разрядную сетку (так это обычно называют). Значит, это не точное значение, равное 1/3, а его «урезанное» значение.
Следующее по величине число, которое помещается в разрядную сетку:
Оно больше предыдущего на 0,00000001. Это шаг числовой последовательности. Следовательно, два рассмотренных числа разделены между собой конечным отрезком. Очевидно, что предыдущее число такое:Оно тоже отделено от своего «соседа справа» по числовой оси шагом 0,00000001. Отсюда делаем вывод: множество вещественных чисел, представимых в калькуляторе, дискретно, поскольку числа отделены друг от друга конечными отрезками.
А теперь выясним вот что: будет ли шаг в последовательности вещественных чисел на калькуляторе постоянной величиной (как у целых чисел)?
Вычислим выражение 100000/3. Получим:
Это число в 100 000 раз больше предыдущего и, очевидно, тоже приближенное. Легко понять, что следующее вещественное число, которое можно получить на табло калькулятора, будет больше данного на 0,0001. Шаг стал гораздо больше.
Отсюда приходим к выводу: множество вещественных чисел, представимых в калькуляторе, дискретно с переменной величиной шага между соседними числами.
Если отметить на числовой оси точные значения вещественных чисел, которые представимы в калькуляторе, то эти точки будут расположены вдоль оси неравномерно. Ближе к нулю — гуще, дальше от нуля — реже (рис. 1.8).
Все выводы, которые мы делаем на примере калькулятора, полностью переносятся на компьютер с переходом к двоичной системе счисления и с учетом размера ячейки компьютера, отводимой под вещественные числа. Неравномерное расположение вещественных чисел, представимых в компьютере, также имеет место.
Ответим на вопрос: ограничено ли множество вещественных чисел в памяти компьютера? Если продолжать эксперименты с калькулятором, то ответ на этот вопрос будет таким: да, множество вещественных чисел в калькуляторе ограничено.
Причиной тому служит все та же ограниченность разрядной сетки. Отсюда же следует и конечность множества.Самое большое число у разных калькуляторов может оказаться разным. У самого простого это будет то же число, что мы получали раньше: 999999999. Если прибавить к нему единицу, то калькулятор выдаст сообщение об ошибке. А на другом, более «умном» и дорогом, калькуляторе прибавление единицы приведет к такому результату:
Данную запись на табло надо понимать так: 1 • 109.
Такой формат записи числа называется форматом с плавающей запятой, в отличие от всех предыдущих примеров, где рассматривалось представление чисел в формате с фиксированной запятой.
Число, стоящее перед буквой «е», называется мантиссой, а стоящее после — порядком. «Умный калькулятор» перешел к представлению чисел в формате с плавающей запятой после того, как под формат с фиксированной запятой не стало хватать места на табло.
В компьютере то же самое: числа могут представляться как в формате с фиксированной запятой (обычно это целые числа), так и в формате с плавающей запятой.
Но и для форматы с плавающей запятой тоже есть максимальное число. В нашем «подопытном» калькуляторе это число:
То есть 99999 • 1099. Самое большое по модулю отрицательное значение -99999 • 1099. Данные числа являются целыми, но именно они ограничивают представление любых чисел (целых и вещественных) в калькуляторе.
В компьютере все организовано аналогично, но предельные значения еще больше. Это зависит от разрядности ячейки памяти, выделяемой под число, и от того, сколько разрядов выделяется под порядок и под мантиссу.
Рассмотрим пример: пусть под все число в компьютере выделяется 8 байтов — 64 бита, из них под порядок — 2 байта, под мантиссу — 6 байтов. Тогда диапазон вещественных чисел, в переводе в десятичную систему счисления, оказывается следующим:
±(5 • 10-324 — 1,7 • 10308).
Завершая тему, посмотрим на рис. 1.9. Смысл, заложенный в нем, такой: непрерывное, бесконечное и не ограниченное множество вещественных чисел, которое рассматривает математика, при его представлении в компьютере обращается в дискретное, конечное и ограниченное множество.
Вопросы и задания
1. Почему множество целых чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?
2. Определите диапазон целых чисел, хранящихся в 1 байте памяти в двух вариантах: со знаком и без знака.
3. Получите внутреннее представление числа 157 в 8-разрядной ячейке памяти в формате со знаком.
4. Получите внутреннее представление числа -157 в 8-разрядной ячейке памяти в формате со знаком.
5. Почему множество действительных (вещественных) чисел, представимых в памяти компьютера, дискретно, конечно и ограничено?
6. На какие две части делится число в формате с плавающей запятой?
Источник: http://koza4kov.at.ua/load/10_klass_uroki_9_12_predstavlenie_chisel_v_kompjutere/1-1-0-14
Представление чисел в компьютере (10кл)
Для перевода из десятичной в двоичную систему используется метод целочисленного деления на 2:
Рассмотрим несколько примеров (нажать для увеличения):
В этом примере мы перевели десятичное число 7310 в двоичный код. После полного целочисленного деления все остатки (красные нули и единицы) необходимо переписать в обратном направлении после чего мы и получим двоичный код числа 73:
7310 = 10010012
Рассмотрим два других примера перевода числа из десятичной системы в двоичную:
Здесь мы перевели десятичные числа 113 и 118 в двоичный код:
11310 = 11100012
11810 = 11101102
п.2. Метод перевода из двоичной системы в десятичную
Для перевода из двоичной системы в десятичную используется метод разложения числа по степеням двойки.
Например переведем двоичное число 1012 в десятичную систему:
1012 = 1*22 + 0*21 + 1*20 = 4 + 0 + 1 = 510
Другой пример:
п.3 Двоичное кодирование целых чисел без знака
Как правило для хранения двоичного числа в памяти компьютера выделяется либо 1байт, либо 2 байта, либо 4 байта.
Принято называть:
2 байта — полуслово
4 байта — слово
8 байтов — двойное слово
Из курса информатики за 8 класс известно, что количество всевозможных чисел, которые можно закодировать последовательностью из n битов равно:
N = 2n
Если в нашем распоряжении только 1 байт (т.е. 8 бит), то мы можем закодировать 28 = 256 чисел. Т.к. числа в информатике и математике начинаются с нуля, то минимальным числом будет 0, а максимальным 255. Т.е. диапазон чисел будет:
Диапазон: 0 …… 255
Если мы располагаем 2-мя байтами (16 бит), то общее количество чисел равно 216 = 65 536.Диапазон: 0 ….. 65 535
Запомним: диапазон чисел всегда на 1 меньше чем общее количество чисел. Т.е диапазон целых чисел всегда равен 0 …… 2n — 1
Если 4 байта (32 бита), то количество чисел равно 232 = 4 294 967 296.
п.4 Двоичное кодирование целых чисел со знаком
Целые числа со знаком могут быть закодированы в двоичную систему тремя способами:
1. Прямым кодом
2. Обратным кодом
3. Дополнительным кодом
Рассмотрим кодирование прямым кодом:
Для обозначения знака числа при любой длине ячейки памяти выделяется самый левый (самый старший) бит.
Запомните: для положительных чисел знаковый бит равен 0, а для отрицательных чисел знаковый бит равен 1.
Например, при 8 битовой ячейке памяти число +11810 будет записано в двоичном коде так:
А число -11810 будет отличаться лишь первым «знаковым» битом, который на этот раз будет равен 1
Запомните способ кодирования целых чисел со знаком, когда код положительного отличается от кода своего отрицательного эквивалента только знаковым битом (0 или 1) называется прямым кодом.
Недостатки прямого кода:
1. Наличие +0 и -0. В прямом коде десятичному числу 0 соответствуют 2 кода: 00000000 и 10000000. Это неизбежно приводит к «ступору» любого электрического сумматора.
2. Операция суммирования числа со своим отрицательным эквивалентом не приводит к получению нуля. Например, просуммируем числа +5 и -5:
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
100010102 = -1010
Как видите в результате суммирования получили -1010. Это является абсолютно недопустимым для технических устройств.
Обратный код для целых чисел со знаком
В обратном коде для обозначения знака также выделяется старший бит, но отрицательный эквивалент числа формируется по другому. Для образования кода отрицательного числа нужно изменить «знаковый» бит на 1, но кроме того нужно инвертировать все биты числа (0 заменить 1, и наоборот)
Рассмотрим числа +5 и -5:
+5: 0 00001012
-5: 1 11110102
Что мы имеем в результате суммирования +5 и -5?
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Все единицы кода — это отрицательный ноль, т.к. он образовался из положительного нуля путем инвертирования всех битов
Вывод по обратному коду:
Устранен один из недостатков прямого кода — при суммировании положительного и эквивалентного отрицательного числа получается ноль,
Но недостаток, связанный с наличием двух нулей не устранен: в обратном коде имеются два нуля: 000000002 и 111111112
Следовательно эта система представления не подходит для технических устройств.
Дополнительный код целых чисел со знаком
В дополнительном коде отрицательны эквивалент положительного числа образуется в два приема:1. У положительного двоичного числа инвертируются биты (т.е. получаем обратный код числа)
2. К получившемуся числу прибавляется 1.
Посмотрим теперь на двоичные коды чисел +5 и -5 в дополнительном коде:
+5: 0 00001012
Получим дополнительный код числа -5:
1. Получаем обратный код от положительного числа +5 (переворачиваем биты) : 1 1111010
2. К получившемуся двоичному числу прибавляем 1 в 8-и битовом представлении (1 = 000000012)
Получим дополнительный код:
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
Т.е. число -5 в дополнительном коде имеет код: 1 11110112.
Проверим получится ли ноль при суммировании +5 и -5?
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Прекрасно!!! Наконец-то мы получили заветный ноль! Теперь мы знаем, что дополнительный код должен подойти для компьютерной техники.
А как насчет двойного нуля? Есть ли в дополнительном коде -0? Давайте из +0 получим его дополнительный код:
+0: 0000 0000
1. Обратный код: 1111 11112
2. Прибавляем двоичную единицу 0000 00012
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Получили тот же самый исходный код для положительного нуля. Следовательно отрицательного нуля в дополнительном коде не существует, т.к. его невозможно получить из положительного нуля.
Интересный факт!!! Получается в 8-и битовом представлении мы имеем общее количество всевозможных чисел со знаком: 28 = 256. Из них ровно половина (128) имеют старшим битом 0 — это положительные числа, а другая половина (128) имеют старшим битом 1. НО!!! Есть одно важное «НО».
Дело в том что в число положительных 128 чисел входит и число 0: 0000 00002. А это значит, что остальных положительных чисел будет не 128, а 127, а вот отрицательного нуля нет, поэтому все 128 отрицательных чисел являются отрицательными целыми числами, отличными от нуля.
Самое большое отрицательное число будет -1, а самое маленькое отрицательное число: -128. Получим двоичное представление этих двух чисел в двоичном коде:Найдем код числа -1 (в дополнительном коде):
1. Берем +1 в двоичном коде (0000 00012)
2. Инвертируем биты: 1111 1110
3. Прибавляем двоичную единицу: 1111 1110 + 0000 0001 = 1111 11112
Найдем код числа -127 (в дополнительном коде):
1. Берем код числа +127: 0111 11112 (Это самое большое положительное число, поэтому старший — знаковый — бит равен 0, а остальные биты равны 1).
2. Инвертируем все биты и получаем: 1000 0000.
3. К получившемуся числу прибавляем 1:
1000 0000 + 0000 0001 = 1000 00012.
Проанализуруем, что мы выяснили. Код -1: 1111 11112, код -127: 1000 00012. А теперь самое интересное.
Сейчас уже понятно, что все остальные отрицательные числа от -1 до -127 будут иметь старшим битом всегда 1, а остальные биты будут всевозможными комбинациями нулей и единиц. А что же тогда за число 1000 00002? Старший его бит равен 1, т.е. число отрицательно.
А теперь давайте посмотрим на двоичный код числа -127 и увидим что число 1000 00002 как раз на 1 меньше кода числа -127: 1000 00012 .
А раз так, то отнимаем от числа -127 единицу и получаем, что это ничто иное как затерявшееся число -128. Мы его не могли получить из числа +128, т.к. числа +128 попросту не существует, поэтому пришлось прибегнуть к таким косвенным рассуждениям.
Запомните: в дополнительном коде наименьшее отрицательное число при любом размере ячейки всегда старшим битом будет иметь 1, а остальные биты будут нули.
Запомните: в дополнительном коде значащих положительных чисел всегда на 1 меньше чем значащих отрицательных, т.к. в число положительных чисел входит 0, а среди отрицательных чисел нуля нет.
п. 5 Двоичное представление вещественных чисел со знаком
Вещественные числа со знаком в двоичном коде могут быть закодированы двумя способами:
1. Двоичный код с фиксированной запятой.
2. Двоичный код с плавающей запятой.
п. 5.1 Двоичный код с фиксированной запятой
В двоичном коде с фиксированной запятой ячейка памяти (например 8-и битовая ячейка) делится на 3 неравные части:
1-я часть — это один старший (знаковый) бит — он отвечает за знак числа (0 — число положительное, 1 — число отрицательное).
2-я часть — самая большая часть, напимер 5 битов — отводятся под целую часть числа (т.е. числа слева от запятой).
3-я часть — вторя по величине — это оставшиеся 2 бита — они предназначены для дробной части числа.«А где-же находится запятая» — спросит пытливый компьютерщик. А для запятой места не нашлось — и не нужно на нее тратить полезные биты. Мы и так договорились с компьютером, чтобы он понимал, что запятая скрывается между битами целой части и битами дробной части.
Источник: http://aaginfo.ru/predstavlenie_chisel_v_kompyutere_10kl_/79/article