Değişkenler (Arduino Programlama - C/C++ dersi - 1)
Merhaba arkadaşlar bugün Arduino programlarken temel dil olan C dilinin değişkenlerinden bahsedeceğiz. Kod yazarken bir çok hesaplama, eşitleme ve adlandırma yaparız değişkenler bu değerlerin saklandığı yerlerdir. Mesela Arduino da pinler sayı olarak belirtilir ancak çok fazla pin kullınca hangi pin neye bağlı olduğunu karıştırabiliriz bu nedenle her bir pine ad veririz ve bu esnada değişken kullanırız, yada sensör değerlerini değişkenler de saklarız. Fark ettiyseniz verdiğim iki örnekten biri harf lerden oluşurken diğeri sayılardan oluşur ve biz bu ikisini farklı tür değişkenler de kullanırız. Bu yazıda en çok kullanılan char, int, long, float, double ile ön ekleri olan const ve unsigned terimlerini inceleyeceğiz. Önce ön ekleri inceleyelim bu ekler hepsinde geçerli ancak basit projeler de pek kullanılmazlarConst
Const önüne geldiği değişkenin daha sonra değişmesine engel olur. Yani sadece okunabilir yapar ve genelde Pi gibi sabit değerler ile pin tanımlamaları yapılırken kullanılır.
const float pi = 3.14;
Unsigned
Önüne geldiği değişkenin negatif kısımlarını da pozitife ekler ve sadece pozitif sayıları algılatır. Mesela Char -128 ile 127 arsında sayı alırken Unsigned Char 0 ile 255 arasında değer alır.
unsigned char e = 240;
Artık değişkenlere geçelim üsteki ön ekler için her bir değişkene özel örnek belirtmeyeceğim.
Char (character)Char veri tipi her tek karakteri veya İşaretli -128 ile 127 arası tam sayı saklaya bildiğimiz ve hafızadan 1 byte yer çalan değişkendir.
char c = 'd';
Int(integer)
Bu değişken türü en çok karşılaşılan değişkenlerin başında gelir. Uno gibi ATmega tabanlı kartlarda -32768 ile 32768 arası tam sayı değeri alıp 2 byte(16 bit) harcarken Due gibi kartlarda -2147483648 ile 2147483647 arsında tam sayı değeri alıp 4 byte ( 32 bit) yer kaplar.
int b= 3;
Long
-2147483648 ile 2147483647 arasındaki sayıları barındırır ve 4 byte yer kaplar. Eğer int ile long değişken türleri arasında matematiksel işlem yapılacaksa sonuna rakamın sonuna L eklenir. 7 basamak hassasiyetine sahiptir.
long l = 186000L;
long f= -135.7;
Double
Long ile benzerdir ancak basamak hassasiyeti 16 dır. Uno gibi ATmega kartlarda 4 byte Due gibi kartlarda 8 byte yer kaplar. Long double ile hassasiyet 20'ye kadar artar.
double g= -135.16;
Float
Bu değişken -3.4028235E+38 ile -3.4028235E+38 arsındaki sayıları 4 byte yer kaplayarak saklar. Ondalıklı sayılar için sıkça kullanılır. İnteger ile işlem yapmadan önce integer değerin önüne "(float)" almalıdır.
float s = 1.117;
int x = 3; float z = (float)x / 2.2;
Doğru ve yanlış anlamında "True" ve "False" değerleri içerir ve bir byte yer kaplar.
boolean calisma = false;
0 yorum: