Системы счисления и двоичное представление информации
Информация (лат. informatio — разъяснение, изложение, набор сведений) — базовое понятие в информатике, которому нельзя дать строгого определения, а можно только пояснить:
- информация — это новые факты, новые знания;
- информация — это сведения об объектах и явлениях окружающей среды, которые повышают уровень осведомленности человека;
- информация — это сведения об объектах и явлениях окружающей среды, которые уменьшают степень неопределенности знаний об этих объектах или явлениях при принятии определенных решений.
Понятие «информация» является общенаучным, т. е. используется в различных науках: физике, биологии, кибернетике, информатике и др. При этом в каждой науке данное понятие связано с различными системами понятий. Так, в физике информация рассматривается как антиэнтропия (мера упорядоченности и сложности системы). В биологии понятие «информация» связывается с целесообразным поведением живых организмов, а также с исследованиями механизмов наследственности. В кибернетике понятие «информация» связано с процессами управления в сложных системах.
Основными социально значимыми свойствами информации являются:
- полезность;
- доступность (понятность);
- актуальность;
- полнота;
- достоверность;
- адекватность.
В человеческом обществе непрерывно протекают информационные процессы: люди воспринимают информацию из окружающего мира с помощью органов чувств, осмысливают ее и принимают определенные решения, которые, воплощаясь в реальные действия, воздействуют на окружающий мир.
Информационный процесс — это процесс сбора (приема), передачи (обмена), хранения, обработки (преобразования) информации.
Сбор информации — это процесс поиска и отбора необходимых сообщений из разных источников (работа со специальной литературой, справочниками; проведение экспериментов; наблюдения; опрос, анкетирование; поиск в информационно-справочных сетях и системах и т. д.).
Передача информации — это процесс перемещения сообщений от источника к приемнику по каналу передачи. Информация передается в форме сигналов — звуковых, световых, ультразвуковых, электрических, текстовых, графических и др. Каналами передачи могут быть воздушное пространство, электрические и оптоволоконные кабели, отдельные люди, нервные клетки человека и т. д.
Хранение информации — это процесс фиксирования сообщений на материальном носителе. Сейчас для хранения информации используются бумага, деревянные, тканевые, металлические и другие поверхности, кино- и фотопленки, магнитные ленты, магнитные и лазерные диски, флэш-карты и др.
Обработка информации — это процесс получения новых сообщений из имеющихся. Обработка информации является одним из основных способов увеличения ее количества. В результате обработки из сообщения одного вида можно получить сообщения других видов.
Защита информации — это процесс создания условий, которые не допускают случайной потери, повреждения, изменения информации или несанкционированного доступа к ней. Способами защиты информации являются создание ее резервных копий, хранение в защищенном помещении, предоставление пользователям соответствующих прав доступа к информации, шифрование сообщений и др.
Почему люди пользуются десятичной системой, а компьютеры — двоичной?
Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.
А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями(есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;
представление информации посредством только двух состояний надежноипомехоустойчиво;
возможно применение аппарата булевой алгебрыдля выполнения логических преобразований информации;
двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Зачем нужна двоичная система
Двоичная система выглядит очень непривычно и числа, записанные в ней, получаются огромными. Зачем она вообще нужна? Разве компьютеры не могут работать с привычной нам десятичной системой?
Оказывается, когда-то они именно так и работали. Самый первый компьютер ENIAC, разработанный в 1945 году, хранил числа в десятичной системе счисления. Для хранения одной цифры применялась схема, которая называется кольцевым регистром, она состояла из десяти радиоламп.
Чтобы записать все числа до миллиона — от 0 до 999 999 — надо шесть цифр, значит, для хранения таких чисел нужно целых 60 ламп.
Инженеры заметили, что если бы они кодировали числа в двоичной системе, то для хранения таких же больших чисел им бы потребовалось всего двадцать радиоламп — в три раза меньше!
Первое преимущество двоичных чисел — простота схем. Второе, и не менее важное — быстродействие. Сложение чисел, хранящихся в кольцевом регистре, требует до десяти тактов процессора на каждую операцию. Сложение двоичных чисел можно выполнить за один такт — то есть в десять раз быстрее.
Группа инженеров, создавших первый компьютер, в 1946 году опубликовала статью, где обосновала преимущество двоичной системы для представления чисел в компьютерах. Первой среди авторов была указана фамилия американского математика Джона фон Неймана. Поэтому сейчас принципы проектирования компьютеров называются архитектурой фон Неймана, хотя это не совсем справедливо по отношению к другим изобретателям компьютера.
При разработке программы с двоичной записью столкнуться довольно сложно: компьютер в подавляющем большинстве случаев сам переводит двоичные числа в десятичные и обратно. Можно долго писать код, даже не подозревая, что внутри компьютера данные хранятся каким-то особым образом.
Зачем изучать двоичную систему, если компьютер делает всю работу за нас? Иногда программистам приходится писать программы, которые работают напрямую с оборудованием. Например, разработчики игр должны знать, как работают видеокарты, что сделать компьютерную графику быстрее. А разработчики операционных систем понимают, как устроены диски, чтобы надежно хранить данные.
Программы, которые работают с железом напрямую, называются системными или низкоуровневыми. Для их создания разработчик должен понимать, как устроен компьютер. Поэтому изучение систем счисления позволяет программисту расширить свой профессиональный диапазон и стать специалистом широкого профиля.
Поэтому для того, чтобы писать сложные системные программы, нужно понимать, как устроена двоичная система счисления.
Представление чисел в компьютере
Существует несколько вариантов для отображения чисел в ЭВМ, и зависят они от формата числа.
Представление целых чисел в ЭВМ
Для представления целых чисел, в вычислительных машинах существует несколько способов, которые используют 8,16, 24 или 32 разряда памяти (1, 2, 3 и 4 байта).
Первым способом является беззнаковое представление. С его помощью представляются только целые положительные величины, которые не участвуют в арифметических операциях и выступают в роли констант (дата, время и т.д.).
Чтобы представить число в беззнаковой форме необходимо перевести его в двоичную систему счисления и дополнить с начала нулями до нужной разрядности (дополняем до 1,2,3 или 4 байт).
Также следует отметить, что есть ограничения на количество чисел, которые можно представить в n разрядной ячейке. Для беззнаковых величин оно составляет ( 2^n ).
Пример: Перевести 54 в беззнаковый формат.
Находим представление 54 в бинарной системе счисления:
( 1) 54:2 = 27 | Остаток 0 )
( 2) 27:2 = 13 | Остаток 1 )
( 3) 13:2 = 6 | Остаток 1 )
( 4) 6:2 = 3 | Остаток 0 )
( 5) 3:2 = 1 | Остаток 1 )
Итого ( 54_ ) равняется ( 110110_ ).
Дополняем результат до одной из стандартных разрядностей (8 бит) = 00110110.
Ответ: 00110110.
Для представления чисел, которые участвуют в вычислительных операциях, используется представление со знаком. В такой форме записи старший разряд всегда отводится под знак (0 для положительных чисел и 1 для отрицательных).
В случае со знаковым представлением также существуют ограничения. Так как один разряд отводится под знак, то в n-разрядную ячейку можно записать ( (2^ -1) ) положительных и ( 2^ ) отрицательных значений.
Также следует отметить следующую особенность — все отрицательные значения в компьютере хранятся в обратном или дополнительном коде, а положительные в прямом.
Для того чтобы перевести число в обратный и дополнительный код вам надо:
- Взять его значение по модулю и перевести в двоичную систему счисления (получим прямой код).
- Все нули заменить на 1, а единицы на нули (получаем обратный код).
- Для получения дополнительного кода прибавляем к нулевому разряду единицу.
Пример: Перевести -54 в дополнительный код.
- Из предыдущего примера — 54 в бинарной системе и беззнаковой форме равняется 00110110.
- Для получения обратного кода меняем 0 на 1, а 1 на 0 — 11001001.
- Чтобы получить дополнительный код прибавляем в конец единицу — 11001001 + 00000001 = 11001010.
Почему же для хранения отрицательных чисел используют обратный или дополнительный код? Это позволяет изменить операцию вычитания на операцию сложения. В противном случае компьютеру бы каждый раз приходилось выяснять, где положительная величина, а где отрицательная и после этого сравнивать их модули, для определения конечного знака, что очень сильно усложняло бы весь алгоритм.
Представление вещественных чисел
Всего существует два способа для представления множества вещественных значений – естественная или экспоненциальная форма.
В жизни мы пользуемся естественной формой. Так число 42,6 мы можем записать несколькими способами. Например:
- ( 426*10^ ) ;
- ( 4,26*10^1 ) ;
- ( 42,6*10^0 ) .
В компьютере же используется экспоненциальная форма записи. Выглядит она так:
Здесь m – мантисса, которая представляет собой правильную дробь (в правильных дробях числитель меньше знаменателя).
q – система счисления, в которой представлено число.
P – порядок.
В ЭВМ отводится один разряд под знак мантиссы, один под знак порядка и различное число бит под саму мантиссу и порядок. Данный формат записи называется «С плавающей запятой».
Чем больше бит отводится под мантиссу, тем точнее представляемая величина, чем больше ячеек отводится под порядок, тем шире диапазон от наименьшего числа, до наибольшего числа, представляемого в компьютере при заданном формате.
Так как компьютерная память величина дискретная и конечная, то и множество вещественных чисел, с которым работает ЭВМ также конечно.
Унарная система счисления: что это
Непозиционная система счисления — это практически не применяемая в информатике СС. В ней значение числа определяется как функция от величин стоящих рядом символов, исходя из правил. Яркий пример унарной системы счисления – римская, которая применяется разве для обозначения столетий. Она основана на десятке букв латинского алфавита, основная из которых – I (английская) – единица.
Изначально для записи количества предметов ставилось столько единиц (I), сколько было объектов, что неудобно – число «палочек» приходилось каждый раз подсчитывать. Чуть упростило задачу введение иных символов, при записи огромных значений система также оказалась неудобной из-за громоздкости записи и ряда правил для вычисления значений.
Правила записи чисел римлянами:
- Меньшая цифра добавляется до большей, если идёт после неё.
- Если меньшая предшествует старшей – отнимается.
- Две меньших цифры рядом, если следуют перед большей, не ставятся.
- D, V, L используют в числе лишь раз.
- I, X. C, M – применяются до трёх раз.
Кроме сложности записи, восприятия информации, совершения математических операций СС не прижилась по причине простоты фальсификации. Если в десятичной более или менее незаметно можно исправить 3 на 8 и добавить единицу в конце или начале, заниматься фальсификациями с римскими цифрами намного проще. Потому от неё отказались.
В цифровой технике унарные СС не применяются по названным причинам.
Вопрос 6
Двоичный код каждого символа при кодировании текстовой информации (в кодах ASCII) занимает в памяти персонального компьютера:
Какой принцип является основополагающим при создании и развитии автоматизированной информационной системы?
Подсчет в двоичном формате
В двоичном выражении первая цифра равноценна 1 из десятичной системы. Вторая цифра равна 2, третья – 4, четвертая – 8, и так далее – удваивается каждый раз. Добавление всех этих значений даст вам число в десятичном формате.
1111 (в двоичном формате) = 8 + 4 + 2 + 1 = 15 (в десятичной системе)
Учет 0 даёт нам 16 возможных значений для четырех двоичных битов. Переместитесь на 8 бит, и вы получите 256 возможных значений. Это занимает намного больше места для представления, поскольку четыре цифры в десятичной форме дают нам 10000 возможных значений. Конечно, бинарный код занимает больше места, но компьютеры понимают двоичные файлы намного лучше, чем десятичную систему. И для некоторых вещей, таких как логическая обработка, двоичный код лучше десятичного.
Следует сказать, что существует ещё одна базовая система, которая используется в программировании: шестнадцатеричная. Хотя компьютеры не работают в шестнадцатеричном формате, программисты используют её для представления двоичных адресов в удобочитаемом формате при написании кода. Это связано с тем, что две цифры шестнадцатеричного числа могут представлять собой целый байт, то есть заменяют восемь цифр в двоичном формате. Шестнадцатеричная система использует цифры 0-9, а также буквы от A до F, чтобы получить дополнительные шесть цифр.
Перевод целых чисел
Целое число с основанием переводится в систему счисления с основанием путем последовательного деления числа » /> на основание , записанного в виде числа с основанием , до получения остатка. Полученное частное следует вновь делить на основание , и этот процесс надо повторять до тех пор, пока частное не станет меньше делителя.
Полученные остатки от деления и последнее частное записываются в порядке, обратном полученному при делении. Сформированное число и будет являться числом с основанием .
Электронное приложение к уроку
Презентация «Представление информации в компьютере» (Open Document Format)
Ссылки на ресурсы ЕК ЦОР
- интерактивный задачник, раздел «Системы счисления» (128659);
http://school-collection.edu.ru/catalog/res/fc77f535-0c00-4871-b67c-fa2ecf567d46/?inter - демонстрация к лекции «Представление целых чисел в памяти компьютера» (119430);
http://school-collection.edu.ru/catalog/res/ecf4ab69-d8ac-40a8-b26a-2780aa70b33d/?inter - тест по теме «Системы счисления» — «Система тестов и заданий N12» (134887);
http://school-collection.edu.ru/catalog/res/6e89032a-2e09-4519-bb1e-653b4ecfd08f/?inter - интерактивный задачник, раздел «Представление чисел» (119410);
http://school-collection.edu.ru/catalog/res/c4939f11-5709-4fde-bc83-ceb614135d81/?inter - тренировочный тест «Двоичная система счисления и представление чисел в памяти компьютера» (119342);
http://school-collection.edu.ru/catalog/res/19d0fb95-871d-4063-961d-e7dc5725e555/?inter - информационный модуль «Достоинcтва и недостатки двоичной системы счисления при использовании ее в компьютере»
http://fcior.edu.ru/card/23457/dostoinctva-i-nedostatki-dvoichnoy-sistemy-schisleniya-pri-ispolzovanii-ee-v-kompyutere.html
Федеральный центр информационных образовательных ресурсов:
- информационный модуль «Число и его компьютерный код»;
http://fcior.edu.ru/card/11501/chislo-i-ego-kompyuternyy-kod.html - практический модуль «Число и его компьютерный код»;
http://fcior.edu.ru/card/9581/chislo-i-ego-kompyuternyy-kod.html - информационный модуль «Дополнительный код числа. Алгоритм получения дополнительного кода отрицательного числа»;
http://fcior.edu.ru/card/14187/dopolnitelnyy-kod-chisla-algoritm-polucheniya-dopolnitelnogo-koda-otricatelnogo-chisla.html - информационный модуль «Числа с фиксированной и плавающей запятой»;http://fcior.edu.ru/card/2107/chisla-s-fiksirovannoy-i-plavayushchey-zapyatoy.html
Презентации, плакаты, текстовые файлы | Вернуться к материалам урока | Ресурсы ЭОР |
Cкачать материалы урока