Представление информации в вм
Ячейки памяти
Бит –bit (разряд)
Байт –byte (8 бит) //он 8, потому что так сделано в IBM 360 //аскии – 7ми битовая таблица //откуда пошли эти слова
Слово – word – ячейка памяти, размер которой совпадает с разрядностью конкретного процессора.
Данные в комп-е:
Числа (целые-беззнаковые, целые-знаковые, вещественные).
Символы
Графика
Аудио
Целые числа без знака
Хранятся в памяти ВМ в 2чной системе счисления. Пример: 10010=0110 0100, 100=0000 0000 0110 0100
Целые числа со знаком
-,0,+
Знаковые неотрицательные числа хранятся в памяти в двоичной системе счисления. А отрицательные хранятся в памяти в дополнительном коде.
Алгоритм перевода из десятичной СС в доп. код:
1) Находим модуль числа //|-100|=100
Переводим в двоичную сс //110 0100
Дописываем незначащие нули до требуемой разрядности //0110 0100
Инвертируем //1001 1011
+1 //1001 1100
Обозначим N количество разрядов типа (8, 16, 32…). Х – отрицательное число, которое надо перевести //n=8 x=100
Y = 2^n - |x| = 156 //2^n – «дополнительный код»
15610=1001 1100
Правило
Если число представлено в памяти компьютера в знаковом формате, то старший бит числа отвечает за знак. А именно: 0 это +, 1 это –. Это только для знакового типа!
Волшебный круг
СТ1
Алгоритм из доп. Кода в десятичную СС:
Инверсия 1001 1100 >> 0110 0011 + 1 >> 0110 0100 >> 100 >> - 100
Алгоритм перевода числа из представления в памяти компьютера в десятичный вид
СТ2
Знаковое число или нет – определяет сам программер.
Алгоритм перевода десятичного числа в его представление в памяти компьютера
СТ3
Типы делфи:
ShortInt 1байтовый, знаковый
Byte 1байтовый, беззнаковый [0..255]
SmallInt 2хбайтовый, знаковый
Word 2хбайтовый, беззнаковый
Integer (LongInt) 4хбайтовый, знаковый
Cs.vshu.kirov.ru
понедельник, 21 февраля 2011 г.
Типы данных Delphi, Pascal и Sharp
C# |
Pascal |
Delphi |
Разрядность (Бт) |
Знак |
Диапазон |
Sbyte |
Shortnt |
Shortint |
1 |
Знак |
|
Byte |
Byte |
Byte |
1 |
Беззнак |
|
Short |
Integer |
Small int |
2 |
Знак |
|
Ushort* |
Word |
Word |
2 |
Беззнак |
|
Int |
Longint |
Integer |
4 |
Знак |
|
Uint* |
- |
Cardinal, longword |
4 |
Беззнак. |
|
*Unsighed
//задача в паскале: 200+200=144
Представление символов в памяти компа
Можно с помощью ASCII (7бит) и Unicode (2 байта) кодов.
CP – 866 Code Page – еще со времен MS DOS
CP - 1251 – Кодировка кириллицы MSWindows.
Представление графики в памяти компа
Два типа: векторная, растровая, фрактальная (дополнительная).
//MS Visio – втф?
четверг, 3 марта 2011 г.
Представление вещественных чисел в памяти компьютера
ВЧ представляются в памяти компьютера в форме с плавающей запятой [floating point] (стандарт – «IEEE – 754 (2008)» - [ай трипл и] //институт инженеров по электротехнике и электронике
X = +- m*q^(+-p)
M – мантисса
Q – основание системы счисления
P – порядок
Пример: 123,45 = 1,2345 * 10^2 = 12345 * 10^(-2)
Основные форматы:
Одинарная точность (Single precision) – 4 байта
Двойная точность (Double precision) – 8 байт
Расширенная точность (Extended precision) – 10 байт
Основание системы счисления q = 2. Для памяти компьютера
Формат представления
Знак мантиссы 1 Бит |
Sp (смещенный порядок) 8 Бит |
Мантисса 23 Бит |
SP – знак порядка не указывается, т.к. применяется смещенный порядок, который всегда положителен.
Sp = p + 127 P [-127.. 128] SP [0.. 255]
Мантисса должна быть представлена в нормализованном виде. Запятая расположена справа от первой ненулевой цифры числа (В Bin это 1).
Пример: 0,00101 = 0*2(-1) + … = 1,01 * 2^(-3) (нормализованный вид)
В двоичном нормализованном представлении старший бит, расположенный слева от запятой, всегда равен 1. Поэтому его можно не хранить (скрытая единица). А диапазон нормализованных мантисс получается следующим: 1 <= m < 2
Формула для стандарта IEEE 754:
X = ± 1,m * 2^(SP – 127)
Хранится знак перед мантиссой, дробная часть мантиссы, порядок.
Пример:
- 27, 2510 //дробную часть умножаем на 2 до получения ноля, если ноля нет – умножаем сколько есть бит и отбрасываем остальное. Выписываем полученные целые части>> 11011,012 >> 1,101101 * 2^4 //первая единица – скрытая, ее не храним >> sp = p + 127 = 4 + 127 = 131 = 1000 0011 >> X = 1 1000 0011 1011 0100 0000 0000 0000 000 = C1DA 0000
1 1000 0011 1011 0100 0000 0000 0000 000 >> 1000 0011 = 131 = SP >> P = 4 >>1,101101 * 2^4 >>1101,01 = 27,25 >> - 27,25
Двойная точность (64 Бит):
11 Бит на порядок, 52 Бит на Мантиссу
SP = P + 1023
Расширенная точность (80 Бит):
15 на порядок, 64 на мантиссу
SP = P + 16383
Особые числа
Положительный ноль = 0000 0000 … 0000
Отрицательный ноль = 1000 0000 … 0000
+ Бесконечность = 0111 1111 1000 … 0000
- Бесконечность = 1111 1111 1000 … 0000
Not a number (NAN) – кроме случая с нулями в мантиссе = х111 1111 1ххх хххх … хххх (х – что угодно)
Денормализованные (кроме +0, -0) = 0000 0000 0ххх хххх … хххх
1000 0000 0ххх хххх … хххх
В денормализованных числах 1 не скрывается
среда, 9 марта 2011 г.
Диапазон данных
Минимальное нормализованное число = х000 0000 1000 0000 … 0000 1,0*2^(1-127) = 1,17549435*10^(-38)
Максимальное нормализованное число = х111 1111 0111 1111 … 1111 >> 1,999999*2^(254-127) = 3,4 *10^38
Минимальное денормализованное число x000 0000 0000 … 0001 = 2^(-22)*2^(0-127) = 1,4*10^(-45)
Максимальное денормализованное число x000 0000 01,11 … 1111 = 1,999999*2^(-127) = 1,17549421*10^(-38)
См. на сайте!!!
1111 … 1111 1000 … 0000 0000 … 0000 0111 … 1111
Нормал-е числа Денормализов-е числа //с этой стороны все повторяется зеркально
NAN (2^(23)-1) inf(1111 1111 10…000)
//Для математикаов на этом отрезке бесконечно много чисел, для информатиков – «всего лишь» 2^32
//чем меньше порядок – тем меньше «шаг» на числовой оси- для нормализованных
Целые
Отрицательное переполнение Какая-то еще хрень, куда мы вряд ли попадем Положительное переполнение
Вещественные
-Max норм. -min денорм +min денорм +max денорм
Порядок
Обычные (денорм-е) числа Особые числа
Мантисса Мантисса
+-0 денорм-е числа +-inf Nan
Типы данных
С++ |
C# |
Pascal |
Delphi |
Разрядность (Бт) |
Диапазон |
Float |
Float |
Single |
Single |
4 |
1,4*10^-45..3,4*10^38 |
|
|
Real |
|
6 |
2,9*10^-39..1,7*10^38 |
Double |
Double |
Double |
Double (real) |
8 |
5,0*10^-324..1,7*10^308 |
|
|
Extended |
Extended |
10 |
3,6*10^-4951...1,1*10^4932 |
Продолжаем болтать о чем-то там
Дискретный сигнал – сигнал, принимающий за конечный промежуток времени конечное множество значений.
Аналоговый сигнал – сигнал, принимающий за конечный период времени бесконечное множество значений.
//Чтобы записать звук – нужно дискретизировать (перевести) звуковой сигнал в машинный код.
среда, 23 марта 2011 г.
Булева алгебра
//Привет, дискретка
//Таблицы истинности: x y notx noty xANDy xORy xXORy
X |
Y |
Not X |
Not Y |
X and Y |
X or Y |
X xor Y |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
Соотношения алгебры логики
X + X = X or X = X
X * X = X
X + 1 = 1
X + 0 = X
X*1 = X
X*0 = 0
Not not x = x
X + not X = 1
X * not X = 0
Not (X * Y) = not X + not Y
Not (X + Y) = not X * not Y
\\xor – плюсик в кружочке
X xor Y = X * not Y + not X * Y
Задача
//У нас есть некая система управления кондиционера.
?
Y F
Z
X |
Y |
Z |
F |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
//Решение задачи в двух этапах: 1) Построение логической функции, 2) Построение схемы из вентилей
СТ
четверг, 24 марта 2011 г.
Логические вентили
Цифровая схема – электрическая схема, в которой всего два уровня схема – 0 и 1.
5В
2,4В
Запрещенный диапазон (выше – единица, ниже – ноль).
0,4В
0В
Логический вентиль (logical gate) – цифровая схема, которая реализует простейшую булеву функцию.
Транзистор – полупроводниковый прибор с тремя контактами.
Коллектор
база
Эмиттер
Полупроводники – вещества, которые могут изменять свое сопротивление под действием внешних факторов (напряжение, свет, тепло, механическое воздействие, и т.д.).
Транзистор – электронный переключатель (ключ)
Схема включения транзистора
СТ1
среда, 20 апреля 2011 г.