русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Системы счисления


Дата добавления: 2013-12-23; просмотров: 1097; Нарушение авторских прав


Понятия программы и программирования

 

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

Программа - алгоритм, записанный в форме, воспринимаемой вычислительной машиной.

Программирование - раздел прикладной математики разрабатывающий методы использования вычислительных машин для реализации алгоритмов.

Программное обеспечение - совокупность программ и документов на них для реализации целей и задач цифровых электронных машин.

Классификацию программ можно представить в следующем виде:

 

 

 

 

Операционная система – комплекс программ, управляющих базовыми и периферийными устройствами компьютера и обеспечивающих правильную загрузку других программ (MS-DOS, Windows, UNIX, MacOS и др.).

Для обслуживания периферийных устройств в состав операционной системы входят специальные программы – драйверы устройств.

Современные системы программирования (например, Borland Delphi, Microsoft Visual Basic, Borland C++) кроме трансляторов включают в себя интегрированную среду разработки; средства создания и редактирования текстов программ; обширные библиотеки стандартных программ и функций; отладочные программы и утилиты; встроенный ассемблер; справочную службу и т.д.

Системное программирование – процесс разработки операционных систем, утилит и трансляторов.

Прикладное программирование – процесс разработки прикладных программ.

 

Обработка информации в ЭВМ основана на обмене электрическими сигналами между различными устройствами машины. Эти сигналы возникают в определенной последовательности. Признак наличия сигнала можно обозначить цифрой 1, признак отсутствия - цифрой 0. Таким образом, в ЭВМ реализуются два устойчивых состояния. С помощью определенных наборов цифр 0 и 1 можно закодировать любую информацию. Каждый такой набор нулей и единиц называется двоичным кодом. Количество информации, кодируемое двоичной цифрой - 0 или 1 - называется битом. С помощью набора битов, можно представить любое число и любой знак. Знаки представляются восьмиразрядными комбинациями битов- байтами (т.е. 1 байт = 8 бит). Например, русская буква А - байт 10000000. Любую комбинацию битов можно интерпретировать как число. Например, 110 означает число 6, а 01101100 - число 108. Число может быть представлено несколькими байтами.



Таким образом, в ЭВМ информация кодируется двумя видами символов. Такому представлению соответствует система счисления, в которой используется всего два цифровых знака - 0 и 1. Дадим определение системы счисления (с/с): система счисления - это совокупность правил и приемов записи чисел с помощью набора цифровых знаков (алфавита). Количество цифровых знаков называют основанием системы счисления.

 

Различают два типа систем счисления:

· позиционные, когда значение каждой цифры числа определяется ее местом (позицией) в записи числа;

· непозиционные, когда значение цифры в числе не зависит от ее места в записи числа.

Примером непозиционной системы счисления является римская :IX, IV, XV и т.д.

Примером позиционной системы счисления можно назвать десятичную систему, используемую повседневно.

Любое целое число в позиционной системе можно записать в форме многочлена

 

· Xs={AnAn-1...A1A0}s=An•Sn+An-1•Sn-1+...+A1•S1+A0•S0

 

где s - основание с/с;

А- значащие цифры числа, записанные в данной с/с;

n - количество разрядов числа

Двоичная система счисления – позиционная (основание - 2).

Перевод целого числа из двоичной системы в десятичную:

(1101)2 = 1*20 + 0*21 + 1*22 + 1*23 = (13)10

 

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

13/2 = 6 (остаток 1 - младшая цифра), 6/2 = 3 (0),

3/2 = 1 (1), 1/2 = 0 (1). Результат - (1101)2

 

Перевод дроби из двоичной системы в десятичную:

(0.1011)2 = 1*2-1 + 0*2-2 + 1*2-3 + 1*2-4 =

1/2 + 1/8 + 1/16 = 0.5 + 0.125 + 0.0625 = (0.6875)10

 

Перевод дроби из десятичной системы в двоичную осуществляется умножением на 2. Целая часть полученного числа – очередная цифра двоичного, начиная с первой цифры после запятой:

0.6875*2 = 1.375 (первая цифра - 1), 0.375*2 = 0.75 (0), 0.75*2 = 1.5 (1), 0.5*2 = 1.0 (1). Результат - (0.1011)2

Восьмеричная система счисления – позиционная (основание – 8, используются цифры 0 1 2 3 4 5 6 7).

Шестнадцатеричная система счисления – позиционная (основание – 16, используются цифры 0 1 2 3 4 5 6 7 8 9 и первые буквы латинского алфавита A B C D E F).

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему (и обратно) осуществляется заменой каждой цифры эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

(537.1)8 = 111. = (101 011 111.001)2
  7.  

 

(1A3.F)16 = 0011. = (10100011.1111)2
  A 3. F  

 

A B C D E F

 

Представление (вид) числа в памяти определяется тем типом, к которому он принадлежит. В частности, тип числа задает количество двоичных разрядов, отводимых под хранение числа.

Для хранения числа в памяти отводится целое число ячеек емкостью 1 байт – 8 бит (разрядов).

 

 

Целые беззнаковые типы (представление числа 5)

       
 
UNSIGNED SHOT INT (2 байта, 0...65535) 0000 0000 0000 0101    
 
UNSIGNED LONGINT (4 байта, 0...4294967295) 0000 0000 0000 0000 0000 0000 0000 0101  
 

 

 


Для хранения чисел со знаком старший разряд отводится под знак (0 – если число положительное, 1 – если отрицательное).

Целые знаковые типы (представление числа 5)

       
 
SIGNED SHOT INT (2 байта, -32768...32768) 0 000 0000 0000 0101  
   
SIGNED LONGINT (4 байта, -2147483648... 2147483648) 0 000 0000 0000 0000 0000 0000 0000 0101  
 

 

 


Отрицательные числа представлены в виде дополнительного кода.

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

 

Целые знаковые типы (представление числа -5)

 

       
 
SIGNED SHOT INT (2 байта, -32768...32768) 1 111 1111 1111 1011  
 
SIGNED LONGINT (4 байта, -2147483648... 2147483648) 1 111 1111 1111 1111 1111 1111 1111 1011    
 

 

 


Все математические операции с числами основаны на сложении.

Сложение осуществляется по-разрядно с соблюдением дополнительного правила: "Если в результате сложения двух соответствующих разрядов чисел получилось число большее или равное основанию системы счисления (2), то следует из полученного числа отнять основание системы счисления и записать в строке итога полученный результат. Кроме того, необходимо запомнить единицу с тем, чтобы добавить ее при сложении следующего разряда".

 

0 1 0 0 1 0 0 1 (73)10

+ 0 0 1 0 0 1 0 1 (37)10

_________________________

0 1 1 0 1 1 1 0 (110)10

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

0 0 0 0 0 1 1 1 (7)10

+ 1 1 1 1 1 0 1 1 (-5)10

_____________________________

0 0 0 0 0 0 1 0 (2)10

 

Умножение заменяется сложением чисел, сдвинутых на разное число двоичных разрядов подобно тому, как это делается при умножении чисел «в столбик». Деление, соответственно, выполняется через вычитание (путем многократного прибавления к делимому дополнительного кода делителя). Возведение в степень выполняется через умножение и т.д.

Современные компьютеры помимо центрального процессора оснащаются математическим сопроцессором – специальным устройством, выполняющим математические операции с плавающей точкой, что позволяет разгрузить центральный процессор. Его использование позволяет ~ на 80 % сократить время выполнения таких операция как умножение и возведение в степень.

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

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

 

Разряд I слагаемого Разряд II слагаемого

Правила по установке соответствующего разряда итогового числа построено по законам логики:

"Если складываются разряды с равным состоянием (ноль с нулем или единица с единицей), то итоговый разряд устанавливается равным нулю. В противном случае, он устанавливается равным единице. Если складываются два разряда, равные единице, то вырабатывается сигнал переноса единицы в следующий разряд".

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

В практическом программировании применяют более сложную конструкцию: "Если условие истинно, то выполнить последовательность действий №1, иначе (то есть если условие ложно) выполнить последовательность действий №2". Реализуется с помощью логического оператора: if – else.


 



<== предыдущая лекция | следующая лекция ==>
Понятие машинной команды | Этапы разработки программного обеспечения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.