float



Açıklama

Kayan nokta sayıları için veri türü, ondalık noktası olan bir sayı. Kayan nokta sayıları, tamsayılardan daha yüksek çözünürlüğe sahip oldukları için genellikle analog ve sürekli değerleri tahmin etmek için kullanılır. Kayan nokta sayıları 3.4028235E + 38 kadar büyük ve -3.4028235E + 38 kadar düşük olabilir. 32 bit (4 bayt) bilgi olarak saklanırlar.

Sözdizimi

float var = val;

Parametreler

var : değişken adı.
val : o değişkene atadığınız değer.

Örnek Kod

float myfloat;
float sensorCalbrate = 1.117;

int x;
int y;
float z;

x = 1;
y = x / 2;          // y now contains 0, ints can't hold fractions
z = (float)x / 2.0; // z now contains .5 (you have to use 2.0, not 2)

Notlar ve Uyarılar

Şamandıralarla matematik yapıyorsanız, ondalık nokta eklemeniz gerekir, aksi takdirde int olarak değerlendirilir. Ayrıntılar için Kayan nokta sabitleri sayfasına bakın.

Kayan noktalı veri türünün yalnızca 6-7 ondalık basamaklı bir hassasiyeti vardır. Bu, ondalık basamağının sağındaki sayı değil, toplam basamak sayısı anlamına gelir. Bir çift kullanarak (örneğin 15 basamağa kadar) daha fazla hassasiyet alabileceğiniz diğer platformların aksine, Arduino'da çift, float ile aynı boyuttadır.

Kayan nokta sayıları tam değildir ve karşılaştırıldığında garip sonuçlar verebilir. Örneğin 6.0 / 3.0, 2.0'a eşit olmayabilir. Bunun yerine, sayılar arasındaki farkın mutlak değerinin küçük bir sayıdan daha az olup olmadığını kontrol etmelisiniz.

Kayan noktadan tamsayı matematiğe dönüşüm kesilme ile sonuçlanır:

 float x = 2.9; // A float type variable int y = x; // 2 

Bunun yerine, dönüştürme işlemi sırasında yuvarlamak istiyorsanız, 0.5 eklemeniz gerekir:

 float x = 2.9; int y = x + 0.5; // 3 

veya round() işlevini kullanın:

 float x = 2.9; int y = round(x); // 3 

Kayan nokta matematiği hesaplamalarda tamsayı matematiğinden çok daha yavaştır, bu nedenle örneğin bir döngünün kritik bir zamanlama fonksiyonu için en yüksek hızda çalışması gerekiyorsa kaçınılmalıdır. Programcılar genellikle hızı artırmak için kayan nokta hesaplarını tamsayı matematiğe dönüştürmek için bazı uzunluklara giderler.

Ayrıca Bakınız