Динамічна пам'ять, принципи її організації і роботи
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
три рази коротше для восьмеричної й у чотири для шістнадцятеричної системи, чим у двійкової, але довжини чисел у десяткової, восьмеричної й шістнадцятеричної системах числення будуть розрізнятися ненабагато. Тому, поряд із двійковою системою числення, в інформатиці мають ходіння восьмерична й шістнадцятерична системи числення.
Восьмерична система числення має вісім цифр: 0 1 2 3 4 5 6 7. Шістнадцятерична - шістнадцять, причому перші 10 цифр збігаються за написанням із цифрами десяткової системи числення, а для позначення шести цифр, що залишилися, застосовуються більші латинські букви, тобто для шістнадцятеричної системи числення одержимо набір цифр: 0123456789ABCDEF.
Якщо з контексту не ясно, до якої системи числення ставиться запис, то підстава системи записується після числа у вигляді нижнього індексу. Наприклад, те саме число 231, записане в десятковій системі, запишеться у двійкової, восьмеричної й шістнадцятеричної системах числення в такий спосіб:
231(10) = 11100111(2) = 347(8) = Е7
Запишемо початок натурального ряду в десятковій, двійковій, восьмеричній, шістнадцятеричній системах числення (табл. 2).
Таблиця 2. Натуральний ряд чисел у різних системах числення.
ДесятковаДвійковаВосьмеричнаШістнадцятерична0000111121022311334100445101556110667111778100010891001119ДесятковаДвійковаВосьмеричнаШістнадцятерична10101012А11101113В12110014С13110115D14111016Е15111117F
Подання чисел у двійковому коді.
Подання чисел у памяті компютера має специфічну особливість, повязану з тим, що в памяті компютера вони повинні розташовуватися в байтах - мінімальних по розмірі адресуємих (тобто до них можливе обіг) комірках памяті. Очевидно, адресою числа варто вважати адреса першого байта. У байті може втримуватися довільний код з восьми двійкових розрядів, і завдання подання полягає в тім, щоб указати правила, як в одному або декількох байтах записати число.
Дійсне число багатообразне у своїх "споживчих властивостях". Числа можуть бути цілі точні, дробові точні, раціональні, ірраціональні, дробові наближені, числа можуть бути позитивними й негативними. Числа можуть бути "карликами", наприклад, маса атома, "гігантами", наприклад, маса Землі, реальними, наприклад, кількість студентів у групі, вік, ріст. І кожне з перерахованих чисел зажадає для оптимального подання в памяті своя кількість байтів.
Очевидно, єдиного оптимального подання для всіх дійсних чисел створити неможливо, тому творці обчислювальних систем пішли по шляху поділу єдиного по суті безлічі чисел на типи (наприклад, цілі в діапазоні від ... до ..., наближені із плаваючою крапкою з кількістю значущих цифр ... і т.д.). Для кожного окремо типу створюється власний спосіб подання.
Цілі числа. Цілі позитивні числа від 0 до 255 можна представити безпосередньо у двійковій системі числення (двійковому коді). Такі числа будуть займати один байт у памяті компютера (табл. 3).
Таблиця 3. Двійковій код цілих чисел.
ЧислоДвійковий код числа00000 000010000 000120000 001030000 0011……2551111 1111
У такій формі подання легко реалізується на компютерах двійкова арифметика.
Якщо потрібні й негативні числа, то знак числа може бути закодований окремим битому, звичайно це старший біт; нуль інтерпретується як плюс, одиниця як мінус. У такому випадку одним байтом може бути закодовані цілі числа в інтервалі від -127 до +127, причому двійкова арифметика буде трохи ускладнена, тому що в цьому випадку існують два коди, що зображують число нуль 0000 0000 й 1000 0000, і в компютерах на апаратному рівні це буде потрібно передбачити. Розглянутий спосіб подання цілих чисел називається прямим кодом. Положення з негативними числами трохи спрощується, якщо використати, так званий, додатковий код. У додатковому коді позитивні числа збігаються з позитивними числами в прямому коді, негативні ж числа виходять у результаті вирахування з 1 0000 0000 відповідного позитивного числа. Наприклад, число -3 одержить код:
_ 1 0000 0000
0000 0011
1111 1101
У додатковому коді добре реалізується арифметика, тому що кожен наступний код виходить із попереднім додатком одиниці з точністю до біта в девятому розряді. Наприклад
5-3 = 5 + (-3)
0000 0101
1111 1101
1 0000 0010, тобто, відкидаючи підкреслений старший розряд, одержимо 2.
Аналогічно цілі числа від 0 так 65536 і цілі числа від -32768 до 32767 у двійковій (шістнадцатеричної) системі числення представляються у двобайтових осередках. Існують подання цілих чисел й у чотирьобайтових осередках.
Дійсні числа. Дійсні числа в математику представляються кінцевими або нескінченними дробами, тобто точність подання чисел не обмежена. Однак у компютерах числа зберігаються в регістрах і комірках памяті, які являють собою послідовність байтів з обмеженою кількістю розрядів. Отже, нескінченні або дуже довгі числа усікаються до деякої довжини й у компютерному поданні виступають як наближені. У більшості систем програмування в написанні дійсних чисел ціла й дробова частини розділяються не комі, а крапкою.
Для подання дійсних чисел, як дуже маленьких, так і дуже більших, зручно використати форму запису чисел у вигляді добутку у формулі 3.
X = m * qp
де m - мантиса числа;
q - підстава системи числення;
р - ціле число, називане порядком.
Такий спосіб запису чисел називається поданням числа із плаваючою крапкою.
Тобто число 4235,25 може бути записане в одному з видів:
4235,25 = 423,525 101 = 42,3525 102 = 4,23525 103 = 0,423525 104.
Очевидно, таке по