Arduino Tür Dönüşümleri

Arduino dilinde veri türlerinin birbiri arasında dönüştürmek için bir takım fonksiyonlar vardır. Örneğin integer türündeki veriyi byte türüne dönüştürmek için bu fonksiyonlardan yardım alabiliriz. Bu dersimizde bu fonksiyonların listesi ve açıklamaları verilmiştir.

  1. byte() fonksiyonu
  2. char() fonksiyonu
  3. float() fonksiyonu
  4. int() fonksiyonu
  5. long() fonksiyonu
  6. word() fonksiyonu

Şimdi dilerseniz bu fonksiyonlara kısaca bir gözatalım;

1- byte() Fonksiyonu:

Bu fonksiyonumuz kendisine gönderilen herhangi bir türdeki parametreyi byte türüne çevirir. Fonksiyonun geri dönüş değeri byte türündendir.

Sözdizimi: byte(x);

Örnek olarak integer türündeki 125 sayısını byte türüne dönüştürelim;

Bilindiği üzere byte türü sayılar 8 bit yani 0 ile 255 arasındadır. Eğer byte türüne dönüştüreceğimiz sayımız 255 değerinden yukarıda olursa, fonksiyonumuz otomatik olarak sayının ilk 8 bitini alacaktır.

Örneğin int türü 1265 sayımızı byte türüne dönüştürelim;

2- char() Fonksiyonu:

Char fonksiyonu herhangi bir türdeki veriyi char tütüne dönüştürmek için kullanılır. Fonksiyon herhangi bir türde parametre alır ve geriye char türü veri döndürür.

Sözdizimi: char(x);

Örnek olarak byte türü 96 sayımızı char türüne dönüştürelim;

yukarıdaki dönüşüm sonucu byte türü “97” sayımızı char türüne dönüştürdüğümüzde sayımız “a” harfine dönüştü. Çünkü ASCII “97” sayısının karakter değeri “a” harfidir. Buradan ASCII Karakter Numaralarını inceleyebilirsiniz.

3- float() Fonksiyonu:

float() fonksiyonu herhangi bir türdeki veriyi float türüne dönüştürmek için kullanılır.

Sözdizimi: float(x);

Örnek olarak int türündeki 477 sayısını float türüne dönüştürelim;

Yukarıdaki örnekte sayi değişkeni olan “477” sayısı değeri float türüne dönüştürüldükten sonra “477.00” oldu. Bunun sebebi float türünün ondalıklı sayı türü olmasıdır.

4- int() Fonksiyonu:

Herhangi bir türdeki veri türünü int veri türüne dönüştürmek için kullanılır. Dönüştürülecek veri max. 16 bit veri olmalıdır. Eğer dönüştürülecek veri 16 bit üzerindeyse, dönüştürme sağlıklı olmaz.

Sözdizimi; int(x);

Örnek;

Yukarıdaki örnekte float türü “deger” değişkenine 16.95 sayısını atadık. Ardından bu değişkeni int türüne dönüştürdük ve yeniDeger adlı değişkene atadık. 16.95 sayısı int türüne dönüştürdüğümüzde 17 oldu. Bunun sebebi int türünün tamsayı türü değerlerini hafızada tutabilmesidir. Ve programımız 16.95 ondalıklı sayıyı, kendine en yakın olan tamsayıya dönüştürdü.

5- long() Fonksiyonu:

Herhangi bir türdeki veriyi long veri türüne dönüştürmek için kullanılır.

Sözdizimi; long(x);

Örnek;

6- word() Fonksiyonu:

Herhangi bir türdeki veriyi word veri türüne dönüştürmek için kullanılır. word veri türü 16 bit işaretsiz tamsayı değeri tutabilir.

Sözdizimi;

word(x);

word(h, l);

h: verinin en anlamlı (en soldaki) byte’ı

l: verinin en az anlamlı (en sağdaki) byte’ı

Örnek;

Örnek olarak int veri türünde bir değişkeni word veri türüne dönüştürelim;

Bir diğer örnekte ise byte türündeki iki sayıyı birleştirip word türüne dönüştürelim;

Yukarıdaki örnekte iki adet byte türü sayıyı word türüne dönüştürdük. Dönüşüm sonucu sayi1 ile sayi2 değişkeninin değerlerini binary olarak yan yana yazarak yeni sayıyı oluşturdu.

Yani;

sayi1 = 125 = 01111101

sayi2 = 153 = 10011001

işlem = word(sayi1, sayi2); // Burada ilk parametre yani sayi1 en anlamlı byte

sayi3 = 32153 = 0111110110011001

Girdiğiniz bir sayının  hexadecimal ve binary karşılığını bulmak için Sayı Dönüştürücü aracımızı deneyebilirsiniz.

 

Yorum Yap