Системи числення та подання типів даних

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Системи числення та подання типів даних

Зміст
1. Позиційні системи числення. 3
2. Переходи між основними системами числення. 5
3. Основні 16-ічние константи .. 5
4. Реалізація цілочисельних операцій. 7
5. Представлення від'ємних чисел. 8
6. Цілочисельні типи даних у мові Сі. 9
7. Речові типи даних у мові Сі. 10
8. Кодування символів. 12
9. Схеми алгоритмів. 14

1. Позиційні системи числення

Позиційні системи числення (СС) - це системи числення, в яких кількісний еквівалент кожної цифри залежить від її положення (позиції) в записі числа. Наприклад:
1) шестидесяткова (Древній Вавилон) - перша позиційна система числення. До цих пір при вимірі часу використовується підставу рівне 60 (1 хв = 60 с, 1 год = 60 хв);
2) дванадцяткова система числення (широке поширення набула в XIX ст. Чісло12 - «дюжина»: в добі дві дюжини годин. Рахунок не по пальцях. А по суглобах пальців. На кожному пальці руки, крім великого, по 3 суглоба - всього 12;
3) в даний час найбільш поширеними позиційними системами числення є десяткова, двійкова, вісімкова і шістнадцяткова.
Система числення - спосіб запису (зображення) чисел. Символи, за допомогою яких записується число, називаються цифрами. Алфавітом системи числення називається сукупність різних цифр, використовуваних в позиційній системі числення для запису чисел. Наприклад: Алфавіти деяких позиційних систем числення. Десяткова система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Двійкова система: {0, 1}
Вісімкова система: {0, 1, 2, 3, 4, 5, 6, 7}
Шістнадцяткова система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Кількість цифр в алфавіті одно основи системи числення. Підставою позиційної системи числення називається кількість знаків або символів, що використовуються для зображення числа в даній системі числення.
Базисом позиційної системи числення називається послідовність чисел, кожне з яких задає кількісне значення або «вагу» кожного розряду. Наприклад: Базиси деяких позиційних систем числення.
Десяткова система: 10 0, 10 січень 1910 2, 10 3, 10 4, ..., 10 n, ...
Двійкова система: 2 0, 2 1, 2 2, 2 3, 2 4, ..., 2 n, ...
Вісімкова система: 8 0, 8 1, 8 2, 8 3, 8 4, ..., 8 n, ...
Згорнутої форма запису числа називається запис у вигляді
A = a n -1 a n -2 ... a 1 a 0. A -1 ... a - m
Саме такою формою запису чисел ми і користуємося в повсякденному житті. Інакше згорнуту форму записи називають природною або цифровий.
Приклад. Десяткове число 4718,63, двійкове число 1001,1, вісімкове число 7764,1, шістнадцяткове число 3АF16
Позиція цифри в числі називається розрядом: розряд зростає справа наліво, від молодших до старших, починаючи з нуля. У позиційній системі числення будь дійсне число в розгорнутій формі може бути представлене в наступному десятковому вигляді:
А = ± (a n-1 q n-1 + a n-2 q n-2 + ... + a 0 q 0 + a -1 q -1 + a -2 q -2 + ... + a - m q - m)
Тут А - саме число, q - основа системи числення, a i ​​- цифри, що належать алфавітом даної системи числення, n - число цілих розрядів числа, m - число дрібних розрядів числа. Розгорнута форма запису числа - сума добутків коефіцієнтів на ступені основи системи числення.
Приклад. Десяткове число А 10 = 4718,63 в розгорнутій формі запишеться так:
А 10 = 4.10 3 + 7.10 2 + 1.10 1 + 8.10 0 + 6.10 -1 + 3.10 -2
Двійкове число А 2 = 1001,1 = 1.2 3 + 0.2 2 + 0.2 1 + 1.2 0 + 1.2 -1
Вісімкове число А 8 = 7764,1 = 7.8 3 + 7.8 2 + 6.8 1 + 4.8 0 + 1.8 -1
Шістнадцяткове число А 16 = 3АF16 = 3.16 2 + 10.16 1 + 15.16 0

2. Переходи між основними системами числення

Основні СС мають підстави 2, 8,10, 16. Системи з підставами 2, 8 і 16 є спорідненими, тому що їх підстави є ступенями двійки. Переходи між ними реалізуються легко.
2 ® 8. Двійкове число розбивається справа наліво на тріади (трійки цифр) і кожна тріада замінюється на 8-ічную цифру.
2 ® 16. Двійкове число розбивається справа наліво на тетради (четвірки цифр) і кожна тетрада замінюється на 16-ічную цифру.
8 ® 16 і 16 ® 8. Перетворення йде через двійкову СС.
Будь-яка підстава ® 10. Здійснюється за визначенням позиційної системи числення.
10 ® 16. Є два способи перетворення.
1. Метод поділу «куточком» будує результуюче 16-ічное число від молодших цифр до старших. Для цього запам'ятовуються цілі залишки від ділення вихідного числа на 16, поки приватне не стане рівним 0. Записуючи ці залишки в зворотному порядку, одержимо відповідь.
2. Метод «вичерпиванія» складається з декількох ітерацій. На кожній ітерації вихідне число х оцінюється знизу максимальним ступенем m нової підстави p = 16: х ≥ 16 m. Потім визначаємо число r входжень ступеня 16 m до числа х. Нарешті, 16-ічную цифру r записуємо в результуюче число в розряд з номером m. Число x замінюємо на менше число х - r · 16 m. Якщо нове число х = 0, то алгоритм закінчується, і інші розряди результату заповнюємо нулями. В іншому випадку, переходимо до наступної ітерації.

3. Основні 16-ічние константи

Більшість числових констант, які зустрічаються в комп'ютерній техніці, є круглими шестнадцатерічнимі числами. Ці числа зазвичай записується у десятковій-буквеному вигляді, що має формат ab, де а - десяткове число, b - буква.
Таблиця 1. Шістнадцяткові константи
16-ічная константа
Десяткове-буквене значення
Примітки
0х10
2 4 = 16
Розмір параграфа
0х100
2 8 = 256
Розмір фізичного сектора
0х200
512
Розмір кластера на дискеті
0х400
Лютого 1910 = 1024 = К
Кілобайт
0х1000
4 До
0х10000
64 До
Розмір сегменту
0хА0000
640 До
Верхня межа ОЗУ для розміщення виконуваного коду в DOS
0х100000
20 лютого = М
Мегабайт
Наступна таблиця містить популярні ступеня числа 2, а також їх російські та англійські назви.
Таблиця 2. Ступені числа 2
Показник ступеня
Ступінь
Примітки
0
1
1
2
2
4
3
8
4
16
5
32
6
64
7
128
8
256
9
512
10
До = 1024 »10 3, К
Кілобайт, Kilobyte
20
М = К · К = К 2 »10 6, М
Мегабайт, Megabyte
30
Г = К 3 »10 9, G
Гігабайт, Gigabyte
40
Т = К 4 = М 2 »10 12, T
Терабайт, Terabyte
50
П »10 15, P
Петабайт, Petabyte
60
Е »10 18, E
Екзабайт, Exabyte
70
З »10 21, Z
Зетабайт, Zettabyte
80
Й »10 24, Y
Йотабайт, Yottabyte
Останні рядки кратних одиниць були доповнені ГОСТом в 1991. Обчислення з числами, представленими в десятковій-буквеному вигляді, можна здійснювати без переходу в десяткову СС. Наприклад, 32 Т / 256 К = 2 45 / 2 18 = 2 27 = 128 М.
Таблиці 1 і 2 дозволяють переводити 16-ічние число в десятковому-буквену запис без застосування обчислювальних засобів. Наприклад,
0х7D8A30 = 7.0 x100000 + 13.0 x10000 + 8.0 x1000 + 10.0 x100 + 3.16 = 7 M + 13.64 K + 8.4 K + 10 · (K / 4) + 48 = 7 M + 866, 5 K + 48.
Відзначимо, що для десяткових-буквених чисел не виконується дистрибутивний закон, тобто 1 М + 100 К не дорiвнює 1,1 М.

4. Реалізація цілочисельних операцій

Представлення чисел у комп'ютері здійснюється в двійковій СС. Однак для стислості запису чисел використовують споріднену 16-ічную СС.
Визначення 1. Логічним адресою комірки пам'яті в ОЗУ з 20-бітної адресною шиною називається запис xxxx: yyyy, де хххх - шістнадцятковий сегментну адресу, yyyy - шістнадцяткове зсув. Фізичним адресою цього осередку називається число xxxx0 + yyyy.
Приклад. Область коду програми розташована з клітинки 55А3: 3000 по клітинку 9EEF: A0FF. Оцінити розмір області в кілобайтах.
Рішення. Фізичний початкову адресу 0х55А30 + 0х3000 = 0х58A30, кінця області 0х9EEF0 + 0хA0FF = 0хA8FEF. Розмір цієї області дорівнює 0хA8FEF - 0х58A30 + 1 = 0x505C0 = 5.64 К + 0.4 До + 10 · (К / 4) + 12.16 = (320 + 2,5) К + 192 = 322,5 К + 192.
Визначення 2. Нормалізованим адресою комірки пам'яті ОЗУ з 20-бітної адресною шиною називається запис xxxx: yyyy, де хххх - шістнадцяткове число, yyyy - шістнадцяткове зсув, не перевершує розміру параграфа, тобто з діапазону від 0 до 15.
Арифметичні операції додавання, віднімання, множення і ділення з 16-ічнимі числами здійснюються аналогічно 10-ічним числах, тобто «стовпчиком». Проте, є деякі відмінності.
Приклад. Критерії розподілу 16-ічного цілого числа на 3 і на 5 виглядають однаково: сума цифр повинна ділиться, відповідно, на 3 і на 5.
Приклад. Виявляється у 16-ічной СС 0x11 2 = 0x121, 0x12 2 = 0x144, 0x13 2 = 0x169.
Приклад. Десяткове число 0,1 можна представити у вигляді кінцевої 2-ічной дробу A = 0, a -1 ... a - m = a -1 2 -1 + a -2 2 -2 + ... + a - m 2 - m. В іншому випадку, множачи рівність 0,1 = А на 10.2 m, отримаємо 2 m = 10 · (a -1 2 m -1 +
a -2 2 m -2 + ... + a - m 2 0). Остання рівність неможливо, оскільки права частина ділиться на 5, а ліва - ні.

5. Представлення від'ємних чисел

Цілі негативні числа зберігаються в комп'ютері в двійковому «додатковому» коді: позитивне двійкове число необхідно побітове інвертувати і додати одиницю.
Цей код заснований на простому розумінні, що x + (-x) = 0 при додаванні двійкових чисел стовпчиком. При цьому одиниця, яка переходить із старшого 7-го біта в неіснуючий восьмий біт, пропадає. Наприклад, для однобайтное числа x = 5 маємо
x = 5 = 0000 0101
+
- X = -5 = **** ****
____________________
0 = 0 = 0000 0000
Тепер конструюємо число -5 = 1111 1011.

6. Цілочисельні типи даних у мові Сі

Таблиця 3. Цілочисельні типи даних
Назва типу
Розмір в байтах
Діапазон
unsigned char
1
0 ... 255,
0. 2 серпня - 1
char, signed char
1
-128 ... 127,
-2 7 ... 7 лютого -1
unsigned int
2
0. 65535,
0. Лютий 1916 - 1,
0 ... 64 K - 1
int, signed int
2
-32758 ... 32757,
-2 15 ... 15 лютого - 1,
-32 K ... 32 K - 1
unsigned long
4
0 ... 2 32 - 1,
0 ... 4 M - 1
long
4
-2 31 ... 31 лютого - 1,
0 ... 4 M - 1
За замовчуванням цілі десяткові константи мають тип int. Тому всі цілі числа повинні міститися в діапазоні -32758 ... 32757. Наприклад, запис x = 100000 буде помилкова незалежно від типу змінної x. Для позначення цілої константи типу long використовується суфікс l. Тоді ініціалізація long x = 100000l буде коректна.
Компілятор не перевіряє вихід результату цілочисельного виразу за діапазон типу. Запис long x = 20000 + 20000 буде хибна, оскільки 40000 не міститься в діапазоні типу int. Це буде «добре прихована» помилка. Реально x буде містити значення
40000 - 64 К. Запис long x = 20000l + 20 000 буде вже коректна, тому що результат буде мати вже тип long.
Побудуємо область коректного складання для типу char.
char x, y, z;
x = y = 100;
z = x + y;
Намалюємо в системі координат (x, y) безліч, для якого z буде містити коректну відповідь. Маємо систему

рішенням якої є шестикутник.
SHAPE \ * MERGEFORMAT
1127
1127
1-128
1-128
x + y - 256
1x + y + 256
xx
xy

Рис. 1. Діапазон коректного складання

7. Речові типи даних у мові Сі

Речові типи завжди мають знак.
Визначення 3. Нормалізованої формою ненульового числа x називається запис x = M × 10 p, де M - мантиса, 0,1 £ ½ M ½ <1, p - порядок числа х.
Нормалізована форма числа єдина.

Таблиця 4. Речові типи даних
Назва типу
Розмір в байтах
Розмір мантиси в десяткових знаках
Розмір порядку в бітах
Діапазон
float
4
7-8
8
3,4 × 10 -38 ... 3,4 × жовтня 1938
double
8
15-16
11
1,7 × 10 -3 0 8 ... 1,7 × 10 3 0 8
long double
10
19-20
15
3,4 × 10 -4932 ... 1,1 × жовтня 4932
Визначення 4. Машинним нулем для даного дійсного типу називається мінімальна позитивне число того ж типу
m 0 = min {x: x> 0}.
Визначення 5. Машинним епсилон для даного дійсного типу називається мінімальне число того ж типу, для якого 1 + x> 1
m e = min {x: 1 + x> 1}.
Визначення 6. Машинної нескінченністю для даного дійсного типу називається максимальне число того ж типу
m ¥ = max {x}.
За діапазону типу можна визначити m 0, m ¥. Машинний епсилон визначається розміром мантиси. Так, наприклад, для типу float маємо
m 0 = 3,4 × 10 -38, m ¥ = 3,4 × 10 38, m e »10 -8.
Визначення 7. «Правим сусідом» числа x даного дійсного типу назвемо мінімальне число y того ж типу, для якого x <y
«Правий сусід» х = min {y: x <y}.
«Правий сусід» числа х більше самого х на величину рівну
m e × 10 порядок числа х.
Наближено можна вважати, що «правий сусід» числа х »х + m e × x.
Наприклад, для типу float «правий сусід» числа 10 жовтня »10 10 + 10 -8 × 10 10 = 10 10 + 100.
Таким чином, речові числа даного типу розташовані на числовій прямій нерівномірно, чим більше числа, тим більше відстань між сусідніми числами. Цей факт слід враховувати при організації циклів: крок циклу має бути більше, ніж відстань між сусідніми числами.
Параметри типу в таблиці 4 зв'язані між собою.
Завдання. Речовий тип doom займає 15 байт, під порядок відведено 30 біт. Визначити інші параметри цього типу.
Рішення. Порядок займає 30 біт, тому мінімальне двійкове значення порядку одно -2 29. Для перекладу цього числа до десяткового підставі вирішимо показове рівняння -2 29 = -10 х. Логаріфміруя по підставі 10, отримуємо х = 29 × lg2 »29 × 0,3010 = 8,729. Таким чином, m 0 дорівнює »0,5 × 10 - 161290865,49» 1,54 × 10 - 161290865.
Мантиса у двійковій системі числення займає 90 біт, з яких один біт визначає знак мантиси. Так як перші знаки двійкової мантиси рівні 0,1 і завжди однакові, то під них пам'ять не відводиться. Тому інші 89 біт мантиси займають розряди з номерами від -2 до -90. «Правий сусід» одиниці дорівнює 0,100 ... 001 2 × 2 1, де остання одиниця стоїть у-дев'яностих розряді. Тоді
m e = 2 -89 = 10 -89 × lg (2) = 10 -26, 7 9 = 6,17 × 10 -26

8. Кодування символів

Для кодування символів за допомогою одного байта використовується ASCII-таблиця (American Standard Code for Information Interchage)
У ASCII-таблиці містяться різні символи та відповідні їм коди. Наприклад, символу "0" відповідає код 0x30 = 48. Символи і рядки зберігаються в пам'яті у вигляді відповідних кодів з ASCII-таблиці. Наприклад, рядок «123» в пам'яті буде зберігатися у вигляді послідовності байт 0х31 0х32 0х33 0х00. Іноді рядки, у яких 0 є ознакою кінця, називають asciiz-рядками.

Таблиця 5. ASCII - таблиця символів
Основна таблиця ASCII
Розширена таблиця ASCII


Символу 'b' відповідає «ASCII-код» 0x62. У десятковій системі це буде 98, а у двійковій - 01100010. Код символу 'b' ви можете подивитися з ASCII-таблиці. Таблиці символів для різних шрифтів можна знайти за допомогою програми Таблиця Символів: Пуск - Стандартні - Системні утиліти - Таблиця Символів).
У російській кодіровочного сторінці 866 літера Е має код 0xF0, а буква е - код 0хF1.
У мові Сі символьні константи позначаються '\ xxx', де ххх - код цього символу, записаний у вісімковій СС. Інакше кажучи,
'\ Xxx' - це код символу, у якого код дорівнює ххх.
Приклади. 1. Кількість букв в англійському алфавіті одно
'Z' - 'A' + 1.
2. Кількість букв в російській алфавіті одно 'Я' - 'А' + 2.

9. Схеми алгоритмів

Для полегшення креслення і знаходження на схемі символів рекомендується полі аркуша розбивати на зони. Розміри зон встановлюють з урахуванням мінімальних розмірів символів, зображених на даному аркуші. Допускається один символ розміщувати у двох і більше зонах, якщо розмір символу перевищує розмір зони. Координати зони проставляють: по горизонталі - арабськими цифрами зліва направо у верхній частині аркуша, по вертикалі - прописними літерами латинського алфавіту зверху вниз в лівій частині аркуша. Координати зон у вигляді сполучення букв і цифр присвоюють символам, вписаним у поля цих зон, наприклад: A1, A2, A3, B1, B2, B3 і т.д. Якщо поле аркуша не розбито на зони, символам присвоюють порядкові номери.
Лінії потоку повинні бути паралельні лініям зовнішньої рамки схеми. Напрямки ліній потоку зверху вниз і зліва направо приймають за основні і, якщо лінії потоку не мають зламів, стрілками можна не позначати. В інших випадках напрямок лінії потоку позначати стрілкою обов'язково.
Скорочення слів і абревіатури, крім стандартних і загальноприйнятих, повинні бути розшифровані в нижній частині поля схеми або в документі, до якого ця схема належить. Записи усередині символу повинні бути представлені так, щоб їх можна було читати зліва направо і зверху вниз, незалежно від напрямку потоку. (Вид а повинен бути прочитаний як вид б).

Рис. 2. Еквівалентні фрагменти схеми алгоритму

Таблиця 6. З'єднувач
Позначення
Коментарі
Використання

E5, B1, A, 5 - ідентифікатори з'єднувачів у вигляді:
букви і цифри (координати зони аркуша)
При великій насиченості схеми символами окремі лінії потоку між віддаленими один від одного символами допускається обривати. При цьому в кінці (початку) обриву повинен бути поміщений символ «З'єднувач»

літери

цифри
Таблиця 7. Межстранічний з'єднувач
Позначення
Коментарі
Використання

Перший рядок всередині межстранічного з'єднувача визначає номер аркуша схеми, друга - координату символу
а) зв'язуються лінією потоку символи знаходяться на різних аркушах

A3 - визначає зону на цьому аркуші, де розташований символ «Коментар» 010E3 - визначає номер аркуша і зону розташування, зв'язувану з символом E3
б) у разі зв'язку деякого символу з багатьма іншими символами, розташованими на різних аркушах, на вході цього символу поміщають один символ «Межстранічний з'єднувач», всередині якого на першому рядку поміщають знак #, а на другому рядку - координати символу «Коментар». Усередині символу «Коментар» вказують номери сторінок і координати символів, пов'язаних з пояснюючими символом
Таблиця 8. Лінії потоку
Позначення
Коментарі
Використання

Застосовують для вказівки напряму лінії потоку: можна без стрілки, якщо лінія спрямована зліва направо і зверху вниз; зі стрілкою - в інших випадках

Злам лінії потоку під кутом 90 о
Позначає зміна напрямків лінії потоку

Перетин ліній потоку
Застосовується в разі перетину двох незв'язаних ліній потоку

Злиття ліній потоку. Місце злиття ліній потоку позначено точкою
Застосовується в разі злиття ліній потоку, кожна з яких спрямована до одного й того ж символу на схемі. Місце злиття ліній потоку допускається позначати крапкою або цифрою 0.

Місце злиття ліній потоку позначено цифрою 0

Таблиця 9. Можливі варіанти відображення рішення
Позначення
Коментарі
Використання

A = B, P ≥ 0 - умови рішень;
A, B, P - параметри
При числі випадків не більше трьох ознака умови рішення (Так, Ні, =,>, <) проставляють над кожною лінією потоку або праворуч від лінії потоку

y i - умова i-го результату, 011T1, 016A3, 005B5, 015T4 - адреси результатів.
Структура адреси має вигляд:

При числі фіналів більше трьох умова результату проставляється у розриві лінії потоку. Адреса результату проставляється в продовженні умови результату і відокремлюється від нього пропуском

B5 - знак, який вказує, що умови рішення даються у вигляді таблиці або символу «Коментар», розташованих на даному аркуші в зоні B5
в символі «З'єднувач» вказують координату зони, куди повинна міститися таблиця або символ «Коментар»
Таблиця 10
Символи в схемах алгоритмів
Назва символу
Позначення
Використання
1. Процес

Виконання операції або групи операцій, в результаті яких змінюється значення, форми подання або розташування даних
2. Рішення

Вибір напрямку виконання алгоритму або програми в залежності від деяких змінних умов
3. Модифікація

Виконання операцій, що змінюють команди, або групи команд, що змінюють програму
4. Предопреде
ленний процес

Використання раніше створених і окремо описаних алгоритмів або програм
5. Ручне введення

Введення даних вручну за допомогою неавтономних пристрою з клавіатурою, перемикачів, кнопок
6. Введення-виведення

Перетворення даних у форму, придатну для обробки (введення) або відображення результатів обробки (висновок)
7. Документ

Введення-виведення даних, носієм яких служить папір
8. Файл

Представлення організованих на основі загальних ознак даних, що характеризують у сукупності деякий об'єкт обробки даних. Символ використовується в поєднанні з символами конкретних носіїв даних, що виконують функції введення-виведення.
9. Лінія потоку

Вказівка ​​послідовності зв'язків між символами
10. З'єднувач

Вказівка ​​зв'язку між перерваними лініями потоку, що з'єднують символи
11. Пуск-останов

Початок, кінець, переривання процесу обробки даних або виконання програми
12. Коментар

Зв'язок між елементом схеми і поясненням
13. Межстранічний з'єднувач

Вказівка ​​зв'язку між роз'єднаними частинами схем алгоритмів і програм, розташованих на різних аркушах
Розмір a повинен вибиратися з ряду 10, 15, 20 мм. Допускається збільшувати розмір a на число, кратне 5. Розмір b дорівнює 1,5 × a. При ручному виконанні схем алгоритмів і програм допускається встановлювати b рівним 2 × a.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лабораторна робота
105.5кб. | скачати


Схожі роботи:
Внутрішнє подання даних стандартних типів
Позиційні системи числення Двійкова система числення
Базові елементи мови типи даних цілочисельні типи даних дані дійсних типів дані типу string
Статистичне спостереження первісна обробка і подання її даних
Системи числення 2
Системи числення
Системи числення
Позиційні системи числення
Системи числення та коди
© Усі права захищені
написати до нас