Основні принципи внутрішньго представлення даних у копютері. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основні принципи внутрішньго представлення даних у копютері.



Основні принципи внутрішньго представлення даних у копютері.

Одним із фундаментальних понять програмування (детальніше про більшість з них ми будемо вести розмову пізніше) є тип даних, який визначає, по-перше, множину значень, по-друге, множину допустимих операцій із цими значеннями і нарешті, спосіб збереження значень та виконання операцій. Тобто, будь-яка інформація, якою оперує програма, відноситься до певного типу даних. В чому полягає необхідність такого підходу?

Справа в тому, що навіть у мовах низького рівня, зокрема в мові Асемблер, для дійсних та цілих чисел відводяться різні об’єми пам’яті, а отже, і дії з ними виконуються по-різному. В мовах високого рівня цей факт також не міг не знайти свого відображення. Крім того, типи даних в програмуванні просто не можуть однозначно відповідати прийнятим у математиці типам чисел. Так, у математиці множина цілих чисел не обмежена ні знизу, ні згори. Реалізувати подібний тип у комп’ютері неможливо. Тому, як правило, у мовах програмування для різних видів обчислень використовується множина типів цілих чисел, які мають різні діапазони значень в залежності від виділеного для них об’єму пам’яті.

Для довідки, мінімальна одиниця інформації в комп’ютері складає 1 біт (1б), в якому якраз і може бути записані 0 або 1. 1 байт (1Б) об’єднує вісімку бітів, а далі все одноманітно – 1 КБ(кілобайт) = 1024 Б (1024 = 210), 1 МБ(мегабайт) = 1024 КБ, 1 ГБ(гігабайт) = 1024 МБ.

Необхідність типізації даних. Використання змінних.

Змінна – це величина, яка протягом роботи програми може набувати різних значень. необхідність типізації даних, тобто кожна змінна програми має відноситись до певного типу даних, допустимих в межах синтаксису даної мови програмування. Змінні також мають бути «представлені» компілятору. Проте тут слід розрізняти два етапи: опис змінної, який для компілятора є повідомленням про характер змінної та дає змогу контролювати її використання в програмі, та визначення змінної, тобто власне створення змінної в пам’яті. Надання початкового значення змінній називається ініціалізацією. За своїми властивостями змінні також різні. Крім змінних, які можуть зберігати певні значення (числові, символьні, текстові, тощо), за що вони ще називаються змінними value-типу, або просто змінними-значеннями, існують змінні reference-типу, або змінні-посилання (або адресні змінні). Їх різнить місце розташування та особливості звертання до них. Звичайні змінні розташовані у так званому стеку Змінні-посилання розташовуються у так званій «купі» і звертання до них, принаймні технічно це реалізовано саме так, відбувається опосередковано з допомогою її адреси.

Базові елементи програми(у процедурному програмуванні)

Будь-яка програма складається з операторів, які описують певну послідовність дій. Як правило, оператори поділяються на групи, що певною мірою описують їх функціональність. Базовими елементами програми називаються такі основні логічні структури:

1) слідування — це послідовність операторів (груп операторів), які виконуються один за одним в порядку їх запису в тексті програми;

2) розгалуження — керівна структура, яка в залежності від виконання заданої умови визначає вибір для виконання одного з двох заданих у цій структурі операторів (груп операторів);

3) повторення — цикл, у якому група операторів може виконуватися знову, якщо справедлива задана умова.

Слід зауважити, що насправді до трьох основних структур слід додати допоміжні: неповне розгалуження, багатогілкове розгалуження (вибір з декількох варіантів), виклик процедури (особливо важливим це стає у випадку рекурсивної процедури) У будь-якій мові програмування існують групи операторів розгалуження та операторів циклу.

 

Умовні конструкції

Можливість контролювати виконання вашої програми, дозволяючи їй приймати рішення про те, який код слід виконувати є дуже цінним для програміста. Конструкція If дозволяє контролювати чи слід програмі виконувати певну частину коду чи ні в залежності від того якою є дана умова — істинною або хибною. Однією з важливих властивостей конструкції If є те, що вона дозволяє програмі вибрати певну дію, ґрунтуючись на введені користувачем дані. Наприклад, за допомогою If можна перевіряти введеня користувачем паролю, програма може вирішити, чи має користувач доступ до програми.

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

 

Перш ніж говорити про фактичну структуру конструкції If, розглянемо значення ІСТИНА(TRUE) і БРЕХНЯ або ХИБНІСТЬ(FALSE) в комп'ютерній термінології. Істинне твердження є одиницею, результатом якого є відмінне від нуля число. Хибне твердження оцінюється як нуль. При виконанні порівняння з реляційними операторами, оператор повертає 1, якщо порівняння істинно, або 0, якщо порівняння невірно. Наприклад, перевірка 0 == 2 повертає 0. Перевірка 2 == 2 оцінюється в 1. Якщо це вам не зрозуміло, спробуйте використовувати Printf для виведення результатів цих різних порівнянь (наприклад, printf ("% d", 2 == 1);)

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

Є цілий ряд операторів, які дозволяють ці перевірки.

Як відомо це реляційні оператори

> більше ніж 5 > 4 is TRUE

< менше ніж 4 < 5 is TRUE

>= більше або рівне 4 >= 4 is TRUE

<= менше або рівне 3 <= 4 is TRUE

== рівне 5 == 5 is TRUE

!= не рівне 5!= 4 is TRUE

Цілком імовірно, що ви бачили це раніше, можливо, з дещо іншими символами. Вони не повинні представляти будь-яких перешкод до розуміння. Тепер ви розумієте, що істинність і хибність використовуються для операторів порівняння, давайте подивимося на реальну структуру конструкції If.

Базовий синтаксис

Структура конструкції If:

if (твердження істинне)

Виконати цей рядок коду

Приведемо простий приклад, який показує синтаксис:

if (5 < 10)

printf("П’ять зараз менше ніж десять, це великий сюрприз=)");

Тут ми просто виводимо «П’ять зараз менше ніж десять, це великий сюрприз=)", щоб побачити чи це правда чи ні, якщо пощастить, це так! Якщо ви хочете, ви можете написати свою власну повну програму, включаючи stdio.h і помістити це в основній функції і запустити програму для перевірки.

Щоб виконувалось більше одного оператора після того як If істинно, використовуйте дужки, як ми зробили з тілом основної функції. Все, що всередині фігурних дужок, називається складним виразом чи блоком. При використанні If, код, який залежить від If називається "тілом" даної конструкції.

if (TRUE) {

/* між фігурними дужками – тіло конструкції If */

Виконати всі операції в тілі

}

Я рекомендую завжди використовувати дужки після конструкції If. Якщо ви зробите це, ви ніколи не повинні пам'ятати, щоб додати їх у тому випадку, коли ви захочете виконати більше однієї операції в тілі і зробить тіло конструкції If візуально більш ясним.

Else

Іноді, коли умова в If набуває хибності(False), було б непогано, щоб виконати певний код, на відміну від коду, який виконується коли умова If буде істинною. Конструкція ELSE (ІНАКШЕ) говорить, що будь-який код після неї (будь це код в одному рядку або код в дужках) виконується у випадку, якщо твердження If невірне.

if (TRUE) {

/* Виконати блок, якщо TRUE */

}

else {

/* Виконати блок, якщо FALSE */

} Else if

Інше використання else це коли є кілька умовних операторів, які можуть оцінити все, але ви хочете тільки одного оператора, тіло якого виконається. Ви можете використовувати " else if " після оператора If і його тіла, таким чином, якщо перше твердження вірне, то "else if" буде ігноруватися, але якщо твердження невірно, конструкція буде перевіряти стан для виразу else if. Якщо це If твердження було правдивим вираз else не буде перевірятися. Можливо використовувати численні вирази else if, щоб тільки один блок коду виконувався.

Давайте подивимося на просту програму, щоб випробувати це:

#include <stdio.h>

int main() /*Важлива частина програми!*/

{

int age; /* Створюємо змінну... */

 

printf("Введіть ваш вік"); /* Запитуємо вік */

scanf("%d", &age); /* Ввід даних для змінної віку */

if (age < 100) { /* Якщо вік менше 100 */

printf ("Ви молоді\n"); /* Просто виводимо текст для розуміння синтаксису... */

}

else if (age == 100) { /* використовуєм else if*/

printf("Ви старі\n");

}

else {

printf("Ви дужеее старі\n"); /* Виконується якщо вік більше 100 */

}

return 0;

}

 

Цикли.Типи циклів.

Цикл — різновид керуючої конструкції у високорівневих мовах програмування, призначена для організації багаторазового виконання набору інструкцій (команд). Також циклом може називатися будь-яка багатократно виконувана послідовність команд, організована будь-яким чином

Безумовні цикли

Іноді в програмах використовуються цикли, вихід з яких непередбачено логікою програми. Такі цикли називаються безумовними або нескінченними. Особливих синтаксичних засобів для створення таких циклів, через їхню нетиповість, мови програмування не передбачають, тому такі цикли створюються за допомогою конструкцій призначених для створення звичайних (або умовних) циклів. Для забезпечення нескінченного повторення перевірка умови в такому циклі відсутня (якщо дозволяє синтаксис, як, наприклад, у циклі LOOP…END LOOP мови Ада), або замінюється константним значенням (while true do … в Паскаль).

Цикл з передумовою

Цикл з передумовою — цикл, що виконується доки істинна деяка умова, вказана перед його початком. Ця умова перевіряється до початку виконання тіла циклу, тому тіло може бути не виконане жодного разу (якщо умова з початку хибна). У більшості процедурних мов програмування здійснюється за допомогою інструкції while, звідси його друга назва — while-цикл. На мові Паскаль цикл з передумовою має наступний вигляд:

while <умова> do

Begin

<тіло циклу>

end;

На мові Сі:

while(<умова>)

{

<тіло циклу>

}

Цикл з післяумовою

Цикл з післяумовою — цикл, в якому умова перевіряється після виконання тіла циклу. Звідси випливає, що тіло циклу завжди виконується хоча б один раз. У мові Паскаль такий цикл здійснює інструкція repeat..until; у Сі — do…while.
На мові Паскаль цикл з післяумовою має наступний вигляд:

repeat <тіло циклу>until <умова>

На мові Сі:

do{ <тіло циклу>}while(<умова>)

Цикл з виходом з середини

Цикл з виходом з середини — найзагальніший тип умовного циклу. Синтаксично такий цикл оформляється за допомогою трьох інструкцій: початок циклу, кінець циклу циклу та інструкції (команди) виходу з циклу. Інструкція початку позначає точку програми, з якої починається тіло циклу, інструкція кінця — точку, де тіло закінчується. Всередині тіла має бути присутня команда виходу з циклу, при виконанню якої цикл завершується і керування передається на оператор, наступний після інструкції кінця циклу. Природньо, щоб цикл виконався більш ніж один раз, команда виходу має викликатися не безумовно, а тільки за умови виконання умови виходу.

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

Легко побачити, що за допомогою циклу з виходом з середини легко утворити і цикл з передумовою (розташував команду виходу на початку тіла циклу), і цикл з післяумовою (розташував команду виходу в кінці тіла циклу).

Частина мов програмування містить особливі інструкції для утворення циклу з виходом з середини. Так, у мові Ада для цього використовується конструкція LOOP…END LOOP і команда виходу EXIT або EXIT WHEN:

LOOP... Частина тіла циклу EXIT WHEN <умова виходу>;... Частина тіла циклу IF <умова виходу> THEN EXIT; END;... Частина тіла циклуEND LOOP:

Цикл з лічильником

Цикл з лічильником — цикл, в якому деяка змінна змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення цієї змінної тіло циклу виконується один раз. В більшості процедурних мов програмування реалізується оператором for, в якому вказується лічильник (так звана «змінна циклу»), потрібна кількість проходів (або межове значення лічильника) і, можливо, крок, з яким змінюється лічильник. Наприклад, в мові Оберон-2 такий цикл має вигляд:

FOR v:= b TO e BY s DO... тіло циклу END

Цикл по колекції (foreach)

Ще одним варіантом є цикл, який пробігає елементи з деякої множини, без явного задання порядку перебору цих об'єктів. Такі цикли представляють собою формальний запис інструкції виду: «Виконати дію X для всіх елементів множини M». Теоретично такий цикл ніяким чином не визначає, в якому порядку буде застосувуватись дія до елементів множини, хоча певні мови програмування, звісно, можуть встановлювати конкретний порядок перебору елементцв. Довільність дає можливість оптимізації виконання циклу за рахунок організації доступу в найвигіднішому порядку, а не в порядку зазначеному програмістом. За наявності можливості паралельного виконання декількох операцій можливо навіть розподілення виконання циклу по колекції, коли одна і та сама операція одночасно виконується на різних обчислювальних модулях для різних об'єктів, при тому що логічно програма залишається послідовною.

Цикл по колекції присутні в деяких мовах програмування (C#, Eiffel, Java, JavaScript, Perl, Python, PHP, LISP, Tcl та ін.) — вони дозволяють виконувати цикл по всім елементам даної колекції об'єктів. У визначенні такого циклу треба вказати лише колекцію об'єктів і змінну, якій в тілі циклу буде присвоєне значення оброблюваного в цей час об'єкта (або посилання на нього). В різних мовах програмування синтаксис оператора різний:

C#:

foreach (type item in set) { //використання item }

 

Обробка помилок.

Одним з сучасних методів обробки помилок є виключення(Exception).Віх характеризує особливість або ненормальність в роботі програми.Багато класів,які дозволяють «завернути» в себе інформацію про помилки і містять механізм передачі і перехвату об*єктів, класів в яких виникли помилки (Framework).Помилки знаходяться в Namespace-«Exception».Виключення можуть бути будь-якими,від ділення на 0 та взяття лагорифма з від*ємного числа до відмінності форматів файлів.

«Exception» в свою чергу поділяється на (1)Application Exception та (2)System Exception.

(1) Виключення користувача

(2) Базові виключення:

Властивості: helplink-посилання на довідковий файл пов*язаний з виключеннями.

Message- повідомлення про помилку в текстовому коді.

InnerException-місце посилання на виключення,яке можливо призвело до ініціювання цього виключення.

Source-дозволяє зберігати ім*я додатка або об*єкта який активував виключення.

StackeTrace-містить копію стека трасіровки за час до передачі виключення.

TargetSite-містить ім*я методу,що передав виключення.

Try

{ }

Catch (“клас породжений від Exc” “ім*я”)

{код що виконується у випадку виключення}

Приклади:виключення формату

If(file Format!= “BMP”)

{string ex=”file”+filename+”is no BMP”;

Throw new invalide BMP Format Exception (ex);

}

 

 

 

12.

Мова С# – це мова жорстокої типізації. Це означає, що кожний об’єкт в програмі має відноситись до одного з визначених типів. Всі типи даних, що використовуються в С#, діляться на 2 категорії типи-значень (value types) та типи-посилання (reference types). Типи – значень – це ті, які можуть зберігати певні значення (числові, символьні, текстові, тощо). Вони розташовані у так званому стеку – спеціальній області пам’яті програми, елементи якої обслуговуються за принципом черги (англ. LIFO, last input – first output) – елемент, записаний останнім, вибирається першим.

 

 

13. Основні операції мови С#:

1.Арифметичні операції: (+) – додавання, (-) – віднімання, (*) – множення, (/) – ділення, (%) – визначення залишку від ділення – є бінарними операціями і виконуються над операндами довільних цілих та дійсних чисел, формуючи результат, тип якого визначається правилами «просування по сходинках типів». 2. Операції інкременту та декременту. Унарні операції інкременту (++) та декременту (--) викликають відповідно збільшення або зменшення операнду дійсного або цілого типу на одиницю. Фактично, ці операції задають неявне присвоєння нового значення змінній.Вони мають префіксну форму (коли знак операції ++ чи -- записується перед змінною) та постфіксну форму (коли знак операції ++ чи -- записується після змінної). В обох випадках змінна, до якої застосована операція інкреметну або декременту, буде збільшена або зменшена на одиницю, проте при префіксній формі ці зміни відбудуться перед використанням змінної у виразі, а при постфіксній формі – після використання змінної у виразі. 3. Операції відношення (порівняння). Бінарні операції відношення: (==) – перевірка на рівність, (!=) – перевірка на нерівність, (>) – перевірка чи більший перший операнд за другий, (>=) – перевірка чи не менший перший операнд за другий, (<) – перевірка чи менший перший операнд за другий, (<=) – перевірка чи не більший перший операнд за другий. Кожна з цих операцій формує значення true або false в залежності від результату порівняння. 4. Логічні операції. Виконуються над операндами логічного типу та визначають результат логічного типу. Логічні операції мають дві форми: звичайну та скорочену. Звичайні логічні операції: (&) – логічне множення або логічне «І», (|) – логічне додавання або логічне «АБО», (^) – логічне виключне «АБО», (!) – логічне заперечення «НІ». Крім того, логічні множення та додавання мають ще скорочені форми, які позначаються знаками && та || відповідно. 5. Порозрядні (бітові) операції виконуються над відповідними бітами внутрішнього подання лише цілих операндів. Результатом виконання є ціле відповідного операндам типу. Таких операцій є 6: (&) – порозрядне «І», тобто кон’юнкція бітів, (|) – порозрядне «АБО»,тобто диз’юнкція бітів, (^) – порозрядне виключне «АБО», (>>) – порозрядний зсув праворуч, (<<) – порозрядний зсув ліворуч, (~) – порозрядне заперечення. Всі операції, крім останньої, є бінарними. Слід зауважити, що при зсуві ліворуч (<<) на вказану правим операндом кількість позицій внутрішнє подання лівого операнду просто зсувається ліворуч, а позиції, що вивільняються, заповнюються нулями. При зсуві праворуч (>>) позиції, що вивільняються ліворуч, заповнюються нулями для беззнакового операнду, якщо ж зсув виконується для знакового операнду, то на вільні ліві позиції розповсюджується знаковий розряд, тобто для від’ємного числа вільні позиції ліворуч заповняться одиницями. 6. Умовна (тернарна) операція має наступну синтаксичну форму: <вираз_1>? < вираз_2>: < вираз_3>. Назву «тернарна» ця операція має тому, що її визначають 3 вирази. Перший вираз повинен мати тип bool. Якщо його значення рівне true, то обчислюється значення другого виразу, яке і визначає всю тернарну операцію. Якщо ж значення першого виразу false, то обчислюється значення третього виразу, і його значення стає значенням всього тернарного виразу. 7. Операції присвоєння. Крім звичайної операції присвоєння (=) в мові С# виконуються ще 10 скорочених операцій присвоєння, які позначаються як <op>=, де знак <op> може бути замінений на знак однієї з операцій: + - * / % & | ^ >> <<. При цьому значення конструкції <змінна> <op>= <вираз>; обчислюється наступним чином: <змінна> = <змінна> <op> <вираз>. 8. Пріоритет операцій. При складанні виразів слід враховувати, що порядок виконання операцій у виразі визначається пріоритетом операцій. Проте правилом хорошого тону слід вважати використання дужок, які підкреслюють порядок обчислень та роблять вираз більш зрозумілим.

 

14. Поняття змінної. Використання змінних, констант, read-only змінних.

. Константа – це величина, яке не змінює свого значення. Отже, значення константи має бути визначене в той момент, коли ви описуєте константу в програмі, тобто знайомите з нею компілятор.

Змінна – це очевидно, величина, яка протягом роботи програми може набувати різних значень. Вище вже говорилось про необхідність типізації даних, тобто кожна змінна програми має відноситись до певного типу даних, допустимих в межах синтаксису (тобто правил використання слів) даної мови програмування. Змінні також мають бути «представлені» компілятору. Проте тут слід розрізняти два етапи: опис (декларацію) змінної, який для компілятора є повідомленням про характер змінної та дає змогу контролювати її використання в програмі, та визначення змінної, тобто власне створення змінної в пам’яті. Надання початкового значення змінній називається ініціалізацією.

Фізичні та математичні константи мають усталені імена, наприклад, – стала Ейлера, – гравітаційна стала, тощо. Змінні в математиці також позначають звичними літерами – . Імена змінних та констант в програмі звуться ідентифікаторами. Складати ідентифікатори програміст має право довільно, не обмежуючи свою фантазію, в межах, звісно власної культури та правил синтаксису мови. Хороший стиль програмування (більше про стиль програмування можна самостійно прочитати у посібниках [1, 2]) означає, як мінімум, що програма, яку ви створюєте, має властивість readability – зручність для читання та сприйняття, а отже, і внесення змін та супроводження її. Тому ідентифікатори слід вибирати так, щоб вони відбивали зміст змінної або константи.

 

 

15.Умовні оператори мови С#

 

Умовний оператор if використовується для розгалуження процесу обчислень на два напрями. Структурна схема оператора наведена на рис.


Формат оператора

if (логічна умова) оператор1

[else оператор2]

Спочатку обчислюється логічна умова. Якщо вона має значення true, виконується перший оператор, інакше — другий. Після цього управління передається на оператор, який слідує за умовним оператором if. Гілка else може бути відсутньою.

Якщо в якій-небудь гілці потрібно виконати декілька операторів, їх необхідно укласти в блок. Блок може містити будь-які оператори, у тому числі описи інших умовних операторів, але не може складатися з одних описів.

Приклад

if (a>b)

Console.WriteLine(“a>b”);

else

Console.WriteLine(“a<=b”);

 

Методи в мові С#.

Передача об’єктів методам.

змінні value-типу передаються у метод за значенням, а змінні reference-типу – за посиланням. розглянемо наступний простий приклад щоб зрозуміти різницю. В ньому визначається класс MyClass, який містить цілу змінну i та конструктор, що її ініціалізує значенням свого параметру. У класі Program визначені 2 функції – MyFunc1 та MyFunc2, перша з яких збільшує на одиницю свій цілочислений параметр, а друга – інкрементує член класу MyClass. У функції Main змінна i ініціалізується значенням 10, а також створюється екземпляр класу MyClass, змінна і в якому має те саме значення 10.

using System;

namespace Object_Param

{

Class MyClass

{

Class Program

{ // Функція одержує параметр by-value

Static void Main()

{

int i = 10; // Ціла змінна із значенням 10

MyClass m = new MyClass(10);

Console.WriteLine("Перед MyFunc1: ");

Console.WriteLine("Змiнна i = " + i); // Друкуємо і

Пiсля MyFunc2

Змiнна i = 11

Цей результат показує, що функція MyFunc1, яка одержала параметр i за значенням, не мала доступу до самого аргументу i, використовуючи лише його значення 10, на відміну від функції MyFunc2, яка одержала об’єкт за посиланням, а отже всі зміни, виконані функцією над своїм параметром, реально відбулись з об’єктом. Причина цього полягає у тому, що параметр m функції MyFunc2 є посиланням на об’єкт MyClass. І хоча сам аргумент m передається у функцію за значенням, проте його значення – це адреса розташування екземпляра MyClass у пам’яті, а отже, функція має доступ до членів цього об’єкту.

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

Основні принципи внутрішньго представлення даних у копютері.

Одним із фундаментальних понять програмування (детальніше про більшість з них ми будемо вести розмову пізніше) є тип даних, який визначає, по-перше, множину значень, по-друге, множину допустимих операцій із цими значеннями і нарешті, спосіб збереження значень та виконання операцій. Тобто, будь-яка інформація, якою оперує програма, відноситься до певного типу даних. В чому полягає необхідність такого підходу?

Справа в тому, що навіть у мовах низького рівня, зокрема в мові Асемблер, для дійсних та цілих чисел відводяться різні об’єми пам’яті, а отже, і дії з ними виконуються по-різному. В мовах високого рівня цей факт також не міг не знайти свого відображення. Крім того, типи даних в програмуванні просто не можуть однозначно відповідати прийнятим у математиці типам чисел. Так, у математиці множина цілих чисел не обмежена ні знизу, ні згори. Реалізувати подібний тип у комп’ютері неможливо. Тому, як правило, у мовах програмування для різних видів обчислень використовується множина типів цілих чисел, які мають різні діапазони значень в залежності від виділеного для них об’єму пам’яті.

Для довідки, мінімальна одиниця інформації в комп’ютері складає 1 біт (1б), в якому якраз і може бути записані 0 або 1. 1 байт (1Б) об’єднує вісімку бітів, а далі все одноманітно – 1 КБ(кілобайт) = 1024 Б (1024 = 210), 1 МБ(мегабайт) = 1024 КБ, 1 ГБ(гігабайт) = 1024 МБ.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 132; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.8.34 (0.08 с.)