Системы счисления и двоичное представление информации

Системы счисления в информатике: виды, примеры, характеристики

Люди постоянно используют числа – абстрактное понятие, применяемое для качественной характеристики и измерения окружающего мира. Одним народам достаточно нескольких цифр: один, два и много, другие разработали десяток способов представления чисел. И первым, и вторым для решения поставленных задач этого достаточно. Кратко рассмотрим виды и историю развития систем счисления (СС). Разберёмся с их классификацией.

Натуральные числа были с людьми всегда. Для подсчёта небольшого количества объектов вязались узлы, использовались камешки – так появились счёты, загибались пальцы. Последние и стали основой десятичной СС.

С появлением необходимости проводить измерения расстояний и габаритов объектов придумали дробные числа. Для измерения времени создали древние системы счисления, привязанные к астрономическим событиям: вращение Земли вокруг Солнца, своей оси, движение Луны, затем полученные величины разбили на более мелкие – часы, минуты. У большинства народов были собственные СС. Римляне обозначали количество буквами алфавита, арабы – современными цифрами.

Греки обозначали цифры буквами алфавита, на которые начинались их названия.

Японцы и китайцы считали палочками.

Японцы и китайцы считали палочками.

Язык как способ представления и передачи информации

Для того чтобы сохранить информацию и передать ее, с давних времен использовались знаки.

В зависимости от способа восприятия знаки делятся на:

  • зрительные (буквы и цифры, математические знаки, музыкальные ноты, дорожные знаки и др.);
  • слуховые (устная речь, звонки, сирены, гудки и др.);
  • осязательные (азбука Брайля для слепых, жесты-касания и др.);
  • обонятельные;
  • вкусовые.

Для долговременного хранения знаки записывают на носители информации.

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

По способу связи между формой и значением знаки делятся на:

  • иконические — их форма похожа на отображаемый объект (например, значок папки «Мой компьютер» на «Рабочем столе» компьютера);
  • символы — связь между их формой и значением устанавливается по общепринятому соглашению (например, буквы, математические символы ∫, ≤, ⊆, ∞; символы химических элементов).

Для представления информации используются знаковые системы, которые называются языками. Основу любого языка составляет алфавит — набор символов, из которых формируется сообщение, и набор правил выполнения операций над символами.

Языки делятся на:

  • естественные (разговорные) — русский, английский, немецкий и др.;
  • формальные — встречающиеся в специальных областях человеческой деятельности (например, язык алгебры, языки программирования, электрических схем и др.)

Системы счисления также можно рассматривать как формальные языки. Так, десятичная система счисления — это язык, алфавит которого состоит из десяти цифр 0..9, двоичная система счисления — язык, алфавит которого состоит из двух цифр — 0 и 1.

Введение в двоичную систему счисления

Компьютер использует биты для представления информации. Бит — это самая основная единица хранения в компьютере. Важный компонент компьютеров называется транзистором. Так же, как выключатель света, транзистор либо пропускает, либо предотвращает протекание тока. Итак, у него всего два состояния: включено и выключено.

Каждое число в компьютере — это электрический сигнал. На заре компьютеров электрические сигналы представляли собой состояние «включено» (отрицательный заряд) и состояние «выключено» (положительный заряд). Это образует своего рода бинарный переключатель.

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

Базовые цифры для двоичной системы просты: 0 для представления низкого состояния и 1 для представления высокого состояния.

Вместо того, чтобы представлять числа как отдельные единицы (например, число 10 или 400), мы используем группы единиц и нулей. Например, вот как это выглядит, когда компьютер считает до 10:

Это называется двоичной системой счисления

Это называется двоичной системой счисления. Каждая двоичная цифра называется битом. Когда дело доходит до размещения значений и цифр в этой системе, мы размещаем значения, соответствующие возрастающей степени 2 слева направо.

Самая правая цифра называется младшим значащим битом (LSB), а крайняя левая цифра — самым старшим битом (MSB).

Вы можете манипулировать битами влево и вправо с помощью побитовых операторов, чтобы эффективно изменять значение числа на уровне машинного кода.

Преобразование между десятичным и двоичным числами

Теперь, когда мы знаем основы двоичной системы, давайте узнаем, как преобразовывать десятичную систему в двоичную. Начнем с преобразования двоичного числа в десятичное.

Мы знаем, что двоичная система имеет разрядные значения степени 2. Эти значения являются весами для цифр (0 или 1) в этих позициях. Вот как это работает:

Умножаем каждую цифру на ее вес (ее позиция умножаем на 2)
Суммируем их все, чтобы получить десятичное число

Итак, возьмем двоичное число 11111010 и переведем его в десятичную систему счисления.

Итак, возьмем двоичное число 11111010 и переведем его в десятичную систему счисления

Итак, возьмем двоичное число 11111010 и переведем его в десятичную систему счисления2 Итак,-возьмем-двоичное-число-11111010-и переведем-его-в десятичную-систему-счисления3

Итак,-возьмем-двоичное-число-11111010-и переведем-его-в десятичную-систему-счисления4

Теперь попробуем наоборот. Как преобразовать десятичное число в двоичное? Один из способов сделать это — повторное деление, что очень удобно.

Итак, возьмем число 19. Начнем с деления его на два и выписки остатка. Когда мы разделим 19 на 2, мы получим 9 с остатком 1.

Затем мы берем 9 и делим его на 2, что дает нам результат 4 с остатком 1. Этот процесс продолжается до тех пор, пока мы не дойдем до нуля. Остатки, которые мы собрали, составляют наше двоичное число!

Затем мы берем 9 и делим его на 2, что дает нам результат 4 с остатком 1

Многократное деление на 2 и отслеживание остатков — это быстрый способ преобразования десятичной дроби в двоичную!

Как переводить двоичные числа в десятичные

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

11010

Запишем его в математической записи, помня, что вместо основания 10, мы используем основание 2.

1×16+1×8+0×4+1×2+0×1

Из этого примера видно, что у всех слагаемых только два множителя — 0 и 1. Слагаемые с множителем 0 равны нулю, поэтому их можно отбросить, оставив только слагаемые с множителем 1.

1×16+1×8+1×2

У слагаемых с множителем 1 этот множитель можно не записывать.

16+8+2

Теперь нетрудно посчитать сумму.

26

Вывод: число 11010 в двоичной записи — то же самое, что 26 в десятичной.

11010₂=26

Ещё раз повторим, как перевести двоичное число в десятичное.

  • Записать число в математическом виде
  • Отбросить слагаемые с множителем 0
  • Сложить результат

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

Двоичное число Степень 2 Десятичное число
12 2 0 1
102 2 1 2
1002 2 2 4
10002 2 3 8
1 00002 2 4 16
10 00002 2 5 32
100 00002 2 6 64
1000 00002 2 7 128
1 0000 00002 2 8 256
10 0000 00002 2 9 512
100 0000 00002 2 10 1 024
1 0000 0000 0000 00002 2 16 65 536
1 0000 0000 0000 0000 0000 00002 2 24 16 777 216
1 0000 0000 0000 0000 0000 0000 0000 00002 2 32 4 294 967 296

С помощью этой таблицы можно переводить числа из двоичной системы в десятичную практически «в уме».

11010₂=10000₂+1000₂+10₂=16+8+2=26

Целые числа в компьютере

Правило № 4: в памяти компьютера числа хранятся в двоичной системе счисления*. С двоичной системой счисления вы знакомы из курса информатики 7-9 классов. Например, если под целое число выделяется ячейка памяти размером в 16 битов, то самое большое целое положительное число будет таким:

В десятичной системе счисления оно равно:

2 15 — 1 = 32 767.

    перевести число 32 768 в двоичную систему счисления; это легко, поскольку 32768 = 2 15 :

Единица в первом бите обозначает знак «минус». Не нужно думать, что полученный код — это «минус ноль». Этот код представляет число -32 768. Таковы правила машинного представления целых чисел. Данное представление называется дополнительным кодом.

Если под целое число в памяти компьютера отводится N битов, то диапазон значений целых чисел:

то есть ограниченность целого числа в компьютере возникает из-за ограничений на размер ячейки памяти. Отсюда же следует и конечность множества целых чисел.

Мы рассмотрели формат представления целых чисел со знаком, т. е. положительных и отрицательных. Бывает, что нужно работать только с положительными целыми числами. В таком случае используется формат представления целых чисел без знака. В этом формате самое маленькое число — ноль (все биты — нули), а самое большое число для 16-разрядной ячейки:

В десятичной системе это 2 16 — 1 = 65 535, примерно в два раза больше по модулю, чем в представлении со знаком.

Из всего сказанного делаем вывод: целые числа в памяти компьютера — это дискретное, ограниченное и конечное множество.

Границы множества целых чисел зависят от размера выделяемой ячейки памяти под целое число, а также от формата: со знаком или без знака. Шаг в компьютерном представлении последовательности целых чисел, как и в математическом, остается равным единице.

Рисунок 1.7 отражает то обстоятельство, что при переходе от математического представления множества целых чисел к представлению, используемому в информатике (компьютере), происходит переход к ограниченности и конечности.

Рис. 1.7. Представление о множестве целых чисел в математике и в информатике

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

  • 472000000=4,72⋅10 8
  • 472000000=47,2⋅10 7
  • 472000000=472,0⋅10 6

С экспоненциальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида:4,72E+8.

Здесь знак E обозначает основание десятичной системы счисления и читается как «умножить на десять в степени». Из приведённого выше примера видно, что положение запятой в записи числа может изменяться. Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472000000 будет представлено как 0,472⋅10 9 .

Вещественное число может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядки и мантиссы. Пример:

7.png

Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.

Максимальное значение порядка числа для приведённого выше примера составляет 11111112=12710 и, следовательно, максимальное значение числа: 0,11111111111111111111111⋅10 1111111 .

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

САМОЕ ГЛАВНОЕ

Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.

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

При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды — под само число. Бели число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные — в дополнительном.

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

где:

m — мантисса числа;
q — основание системы счисления;
p — порядок числа.

Дополнительный код

Дополнительный код — наиболее распространенный способ представления отрицательных чисел. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел.

В дополнительном коде (как и в прямом и обратном) старший разряд отводится для представления знака числа (знаковый бит).

Диапазон десятичных чисел которые можно записать в дополнительном коде от -128 до +127. Запись положительных двоичных чисел в дополнительном коде та-же, что и в прямом и обратном кодах.

Представление чисел в дополнительном коде

Дополнительный код отрицательного числа можно получить двумя способами
1-й способ:
— инвертируем значение отрицательного числа, записанного в прямом коде (знаковый бит не трогаем)
— к полученной инверсии прибавляем 1
Пример:
Дано десятичное число -10
Переводим в прямой код:
10 = 0 000 1010 —-> -10 = 1 000 1010
Инвертируем значение (получаем обратный код):
1 000 1010 —-> 1 111 0101
К полученной инверсии прибавляем 1:
1 111 0101 + 1 = 1 111 0110 — десятичное число -10 в дополнительном коде

2-й способ:
Вычитание числа из нуля
Дано десятичное число 10, необходимо получить отрицательное число (-10) в дополнительном двоичном коде
Переводим 10 в двоичное число:
10 = 0 000 1010
Вычитаем из нуля:
0 — 0000 1010 = 1 111 0110 — десятичное число -10 в дополнительном коде

Дополнительный код отрицательного числа

Арифметические операции с отрицательными числами в дополнительном коде

Дано: необходимо сложить два числа -10 и 5
-10 + 5 = -5
Решение:
5 = 0000 0101
-10 = 1111 0110 (в дополнительном коде)
Складываем:
1111 0110 + 0000 0101 = 1111 1011, что соответствует числу -5 в дополнительном коде

Как мы видим на этом примере — дополнительный код отрицательного двоичного числа наиболее подходит для выполнения арифметических операций сложения и вычитания отрицательных чисел.

Вывод:
1. Для арифметических операций сложения и вычитания положительных двоичных чисел наиболее подходит применение прямого кода
2. Для арифметических операций сложения и вычитания отрицательных двоичных чисел наиболее подходит применение дополнительного кода

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector