010011012 = 0*27 + 1*26+ 0*25+ 0*24+1*23 +1*22 + 0*21+ 1*20 = 7710
Перевод из десятичной системы счисления в любую другую
Для перевода из десятичной системы счисления в двоичную существует правило, которое годится для всех систем счисления.
Для того, что бы перевести число из десятичной системы счисления в любую другую надо делить число на основание системы счисления до тех пор, пока частное от деления не будет меньше основания системы счисления, при этом необходимо фиксировать все остатки от деления. Затем надо записать частное от деления и все остатки, начиная с последнего в обратной последовательности. Т.о. получится: частное - старший разряд, а самый первый остаток - младший разряд.
Например, переведем число 5810 в двоичную систему счисления:
Достоинства двоичной системы счисления
Достоинства двоичной системы счисления заключаются в простоте реализации процессов хранения, передачи и обработки информации на компьютере.
1. Для ее реализации нужны элементы с двумя возможными состояниями, а не с десятью.
2. Представление информации посредством только двух состояний надежно и помехоустойчиво.
3. Возможность применения алгебры логики для выполнения логических преобразований.
4. Двоичная арифметика проще десятичной.
Недостатки двоичной системы счисления
Итак, код числа, записанного в двоичной системе счисления представляет собой последовательность из 0 и 1. Большие числа занимают достаточно большое число разрядов.
Быстрый рост числа разрядов - самый существенный недостаток двоичной системы счисления.
Данные
С точки зрения программиста данные — это часть программы, совокупность значений определённых ячеек памяти, преобразование которых осуществляет код. С точки зрения компилятора, процессора, операционной системы, это совокупность ячеек памяти, обладающих определёнными свойствами.
Контроль за доступом к данным в современных компьютерах осуществляется аппаратно.
В соответствии с принципом фон Неймана, одна и та же область памяти может выступать как в качестве данных, так и в качестве исполнимого кода.
Носители данных
Носитель информации (информационный носитель) — любой материальный объект или среда, содержащий (несущий) информацию , способный достаточно длительное время сохранять в своей структуре занесённую в/на него информацию.
По назначению носители информации различаются на три группы:
Кодирование данных
Информация передается в виде сигналов. Когда мы разговариваем с другими людьми, то улавливаем звуковые сигналы. Если мы смотрим в окно, наш глаз принимает световые потоки, отраженные от объектов окружающей природы. Световой поток - это тоже сигнал.
А как же информация хранится? Для того чтобы информацию сохранить, ее надо закодировать. Любая информация всегда хранится в виде кодов. Когда мы что-то пишем в тетради, мы на самом деле кодируем информацию с помощью специальных символов. Эти символы всем знакомы - они называются буквами. И система такого кодирования тоже хорошо известна - это обыкновенная азбука. Жители других стран те же самые слова запишут по-другому (другими буквами)- у них своя азбука. Можно сказать, что у них другая система кодирования. В некоторых странах вместо букв используют иероглифы - это еще более сложный способ кодирования информации.
Можно кодировать и звуки. С одной из таких систем кодирования вы тоже хорошо знакомы: мелодию можно записать с помощью нот. Это не единственная система кодирования музыки. В давние времена на Руси музыку записывали с помощью так называемых «крюков» - это особая форма записи.
Хранить можно не только текстовую и звуковую информацию. В виде кодов хранятся и изображения. Если посмотреть на рисунок с помощью увеличительного стекла, то видно, что он состоит из точек - это так называемый растр. Координаты каждой точки можно запомнить в виде чисел. Цвет каждой точки тоже можно запомнить в виде числа. Эти числа могут храниться в памяти компьютера и передаваться на любые расстояния. По ним компьютерные программы способны изобразить рисунок на экране или напечатать его на принтере. Изображение можно сделать больше или меньше, темнее или светлее, его можно повернуть, наклонить, растянуть. Мы говорим о том, что на компьютере обрабатывается изображение, но на самом деле компьютерные программы изменяют числа, которыми отдельные точки изображения представлены в памяти компьютера.
Структуры данных
Структура данных — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Структура данных часто является реализацией какого-либо абстрактного типа данных.
При разработке программного обеспечения большую роль играет проектирование хранилища данных и представление всех данных в виде множества связанных структур данных.
Хорошо спроектированное хранилище данных оптимизирует использование ресурсов (таких как время выполнения операций, используемый объём оперативной памяти, число обращений к дисковым накопителям), требуемых для выполнения наиболее критичных операций.
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, B-деревья обычно подходят для создания баз данных, в то время как хеш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет-адреса компьютеров.
Единицы хранения данных
При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру. При этом образуются адресные данные. Без них нельзя получить доступ к нужным элементам данных, входящих в структуру.
Поскольку адресные данные тоже имеют размер и тоже подлежат хранению, хранить данные в виде мелких единиц, таких, как байты, неудобно. Их неудобно хранить и в более крупных единицах (килобайтах, мегабайтах и т. п.), поскольку частичное заполнение одной единицы хранения приводит к неэффективности хранения.
В качестве единицы хранения данных принят объект переменной длины, называемый файлом.
Файл – это последовательность произвольного числа байтов, обладающая уникальным собственным именем.
Обычно в отдельном файле хранят данные, относящиеся к одному типу. В этом случае тип данных определяет тип файла.
Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл), и файл, имеющий любое число байтов.
В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, без которых данные, хранящиеся в файле, не станут информацией из-за отсутствия метода доступа к ним. Кроме функций, связанных с адресацией, имя файла может хранить и сведения о типе данных, заключенных в нем. Для автоматических средств работы с данными это важно, поскольку по имени файла они могут автоматически определить адекватный метод извлечения информации из файла.
Имя файла состоит из двух частей: собственно имени и расширения файла. Например:
Собственно имя файла может состоять из букв русского и английского алфавитов, цифр и специальных символов. При этом его длина не должна превышать 256 символов.
В зависимости от расширения все файлы делятся на две большие группы: исполняемые и неисполняемые.
Исполняемые файлы – это такие файлы, которые могут выполняться самостоятельно, т. е. не требуют каких-либо специальных программ для их запуска. Имеют следующие расширения:
– exe – готовый к исполнению файл (tetris.exe; winword.exe);
– com – файл операционной системы (command.com);
– sys – файл операционной системы (Io.sys);
– bat – командный файл операционной системы MS-DOS (autoexec.bat).
Неисполняемые файлы для запуска требуют установки специальных программ. Так, например, для того чтобы просмотреть текстовый документ, требуется наличие какого-либо текстового редактора. По расширению неисполняемого файла можно судить о типе данных, хранящихся в данном файле. Вот несколько примеров:
Понятие о файловой структуре
Требование уникальности имени файла очевидно – без этого невозможно гарантировать однозначность доступа к данным. В средствах вычислительной техники требование уникальности имени обеспечивается автоматически – создать файл с именем, тождественным уже имеющемуся, не могут ни пользователь, ни автоматика.