На сторінках часто зустрічається таке слово, "змінна". А хто-небудь взагалі пояснив, що це таке? А це всього лише мнемонічне уявлення осередки пам'яті з деякими даними, которе використовується в процедурах для швидкого здійснення доступу до пам'яті. Нічого складного, правда? Ми використовуємо слово змінна. маючи на увазі, що дані в цій злощасної осередку можуть змінюватися. (А якщо дані не змінюються, то такі ущербні змінні ми називаємо константи)
Давайте для прикладу як-небудь позначимо кількість букв в слові. Оголосимо змінну BUKVO. У слові хренлогриз десять букв. Тому покладемо в змінну BUKVO значення 10. В реальності ми покладемо число 10 в область пам'яті, зарезервовану змінної BUKVO. Коли в програмі ми звернемося до цієї змінної, BASCOM насправді звернеться до ділянки пам'яті, закріпленому за цією змінною. Компілятор сам придумує і запам'ятовує, де яку змінну зберігати. Нам про це можна навіть не думати.
імена змінних
Ім'я змінної може бути до 32 символів довжиною. У назві можна використовувати цифри і латинські літери. Переконайтеся, що обране ім'я не збігається зі службовими словами. Наприклад, не можна створювати змінну з назвою "Config". Імена змінних НЕ чутливі до регістру.
У BASCOM є такі типи змінних:
Bit
Зберігає значення 0 або 1. Використовуйте цей тип для зберігання стану кнопки, перемикача, ніжки порту введення / виведення - всього, що може бути увімкнене.
Byte
Зберігає в пам'яті один байт (8 біт). Іспотльзуйте цей тип для зберігання числа від 0 до 255 або для символу. Особливо корисно використовувати цей тип в маленьких МК, коли пам'ять дуже обмежена. Зберігайте в цій змінній будь-яке число, яке сюди влізе. Але пам'ятайте: якщо до змінної типу byte зі значенням 255 додати 1, то вона скинеться до 0.
Integer
Ця змінна займає в пам'яті два байта і зберігає числа від -32768 до +32767. Так як один біт зарезервований під знак числа, що залишилися 15 діляться навпіл на позитивні і негативні значення. Зберігайте в цьому типі всі числа, яким потрібен знак, а також всі числа, які вписуються в зазначений діапазон. До речі, при переповненні змінної даного типу, її значення зміниться з +32767 на -32768.
Word
Це двухбайтное тип, який не має знака. Для зберігання числа доступні всі 16 біт, тому діапазон допустимих чисел від 0 до 65535. Цю зміну можна використовувати для порівняно великих величин, які не мають знака. При переповненні значення 65535 змінюється до 0.
Long
Мінлива такого типу займає в пам'яті 4 байта. З 32 біт один відводиться під знак, а всі інші зберігають модуль числа. Таким чином, зберігається діапазон становить від -2147483648 до +2147483647. В змінної типу Long можна зберігати всі значення, які не влізли в Integer. При переповненні, як і всі змінні, скинеться до мінімального значення діапазону.
Single
Четирехбайтний тип для зберігання чисел з плаваючою точкою. Запам'ятовує числа від 1.5х10 ^ 45 до 3.4х10 ^ 38 зі знаком. Використовуйте тільки його для зберігання дрібних чисел. Наприклад, якщо ви покладете число 3.1415926 в змінну типу Integer, то назад отримаєте тільки 3, так як дрібна частина пропаде. Змінна типу Single може зберігати великий діапазон дрібних позитивних і негативних чисел. Але будьте уважні: ви можете втратити деяку точність при перетвореннях. наприклад:
Dim A as Single 'Оголосимо змінну A типу Single
A = 0.987654321 'Покладемо в неї деяке число
Після цих операцій в змінної A виявиться значення 0.9876543. Це тому, що змінна пам'ятає 9 символів (включаючи цілу частину і точку).
String
Мінлива цього типу пам'ятає рядок з декількох символів. Кожен символ займає в пам'яті один байт. Послідовність символів закінчується так званим "нульовим байтом", тому він також займає місце в пам'яті.
Головне у виборі типу змінної - визначитися, які типи даних в ній будуть зберігатися. Вибирайте тип найменшого розміру, в який ще вписується необхідне число, щоб не витрачати пам'ять даремно. Також пам'ятайте, що при використанні типу Integer програма буде набагато компактніше і швидше, ніж при використанні типу Single. Операції з плаваючими точками в усі часи були досить повільним заняттям.
Бажаєте купити тютюн для кальяну?