Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Перевод дробных чисел в двоичную систему счисления
Для перевода числа с дробной частью в двоичную систему надо выделить его целую и дробную части и каждую часть перевести отдельно. Для перевода дробной части – умножить ее на 2, затем дробную часть полученного произведения снова умножить на 2 и так до тех пор, пока дробная часть произведения не будет равна 0 или не будет достигнута требуемая точность представления числа. Далее надо выписать целые части произведений в порядке их получения. Переведем число 5.37510 в двоичную систему счисления. Целая часть 510 = 1012. Дробная часть: 0. 375 * 2 ------------- 0. 750 * 2 ------------- 1. 500 * 2 --------------- 1. 000 Выписываем целые части произведений в порядке получения и получаем 0. 0112. Объединяем обе части: 5.37510 = 101.0112. Представление целых чисел Считается, что в форме с фиксированной точкой десятичная точка зафиксирована после младшего цифрового разряда, т.е. в числе нет дробной части. Целые числа могут занимать в компьютере 1 байт, 2 байта (16 разрядов), 4 байта (32 разряда) или 8 байт (64 разряда). Разные целочисленные типы отличаются разным диапазоном значений и бывают знаковые (int, short int, long int) и беззнаковые (с модификатором unsigned). Чтобы закодировать знаковое целое число, достаточно перевести его в двоичную систему счисления, дополнить слева нулями (прижать к правому краю разрядной сетки) и добавить знаковый разряд. Рассмотрим структуру разрядной сетки 2-байтового представления (16 разрядов):
Число в двоичном представлении |
||||||||||||||||||
Крайний левый разряд содержит знак числа: 0 соответствует положительному числу, 1 – отрицательному, остальные разряды содержат значащую часть числа (самый старший разряд слева).
В компьютерной технике применяются три формы кодирования целых чисел со знаком: прямой код, обратный и дополнительный. Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково.
Например, рассмотрим, как число 28 хранится в 16-разрядной ячейке в форме с фиксированной точкой в прямом коде. Двоичное представление десятичного числа 28 имеет вид 2810 = 111002.
Число 28 положительное, поэтому значение первого разряда – 0. Остальные 15 разрядов содержат двоичные цифры, соответствующие числу 28, в нашем случае 0 000000000011100. Поэтому число запишется в ячейку следующим образом:
|
зн | Число в двоичном представлении | ||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
Такой способ кодирования называется прямым кодом.
Если возьмем отрицательное число, например, -125, то оно в
16-битном формате со знаком запишется так. Первый разряд – 1, так как число отрицательное.
Двоичное представление числа
12510 = 11111012. В 16-разрядной ячейке это число в прямом коде будет выглядеть так:
1 000000001111101
зн | Число в двоичном представлении | ||||||||||||||
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
Для упрощения арифметических действия с отрицательными числами, как правило, используется или обратный, или дополнительный код. Отрицательные числа преобразуются в обратный код инвертированием всех битов двоичного числа, кроме знакового, а дополнительный можно получить прибавлением единицы к обратному коду числа.
11110=11011112
В 8 байтовой ячейке: 0 1101111
Число -111 будет представлено:
Прямой 1 1101111
Обратный 1 0010000
+1
Доп-ый 1 0010001
При 2-байтовой кодировке, когда под значащую часть числа отводится 15 разрядов, максимально возможное целое число, которое может поместиться в отведенную ячейку, составляет 215 - 1 = 32767. Число с большим значением не поместится в такую ячейку. В таком случае говорят о переполнении. Переполнение разрядной сетки - это ситуация, когда число, которое требуется сохранить, не умещается в отведенном количестве разрядов памяти вычислительного устройства. Последствия такой ситуации могут быть разными в зависимости от программы, в которой она случилась: от прерывания программы с выводом сообщения об ошибке до получения неверного результата. Переполнение связано с количеством разрядов устройства, выделяемых для хранения числа.
Арифметические действия с целыми числами выполняются точно. Для деления существуют операции определения целой части частного и остатка от деления.
| Поделиться: |
Читайте также:
Последнее изменение этой страницы: 2020-11-23; просмотров: 2688; Нарушение авторского права страницы; Мы поможем в написании вашей работы!
infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.231.245 (0.008 с.)