Minden, ami elektronika

Elektronikával hobbi szinten foglalkozó oldal

float

2019. szeptember 03. 07:31 - raptor13

Leírás

A float a lebegőpontos, azaz a tizedesjeggyel rendelkező (nem egész számok) tárolására szolgáló adattípus. A lebegőpontos számokat gyakran használják az analóg és a folyamatos értékek közelítésére, mert nagyobb felbontásúak, mint egészek. A lebegőpontos számok lehetnek akár +/- 3.4028235E+38 közötti értéket vehet fel. A float adattípous 4 byte helyet foglal a memóriában.

Szintaxis

float var = val;

paraméterek

var: változó neve.
val: az az érték, amelyet hozzárendel ehhez a változóhoz.

Példakód

Megjegyzések és figyelmeztetések

Ha matematikai műveleteket szeretne elvégezni lebegőpontos számokkal, akkor a tizedes pontot (vessző helyett) ki kell írnia, különben egész számként fogja az adatot kezelni a fordító. A lebegőpontos konstans oldalon talál erről további információkat.

A float adattípus csak 6-7 tizedes pontossággal rendelkezik. Ez a számjegyek teljes számát jelenti, nem pedig a tizedespont jobb oldalán található számot. Más platformoktól eltérően, ahol kétszer ekkora (például legfeljebb 15 számjegy) pontosságot lehet elérni, az Arduino esetében a double adattípus mérete megegyezik a float-tal.

A lebegőpontos számok nem pontosak, és furcsa eredményeket eredményezhetnek összehasonlításuk során. Például a 6.0 / 3.0 nem feltétlenül azonos a 2.0-val. Ehelyett jó megoldás, ha a számok abszolut értékének a különbségét nézi, hogy nullához közeli értéket vesz-e fel.

A lebegőpontról egész számra történő átalakítás kerekítést nem végez, a tizedes jegyek egyszerűen levágásra kerülnek:

Ha ehelyett inkább kerekíteni szeretné az átalakítási folyamat során, akkor hozzá kell adnia 0,5-öt:

vagy használhatja a round () függvényt:

A lebegőpontos számítások elvégzése jelentősen lassabb, mint az egész számok közötti műveletek, így azt időkritikus folyamatok esetében, főleg ciklusokon belül, lehetőség szerint el kell kerülni. Ha szükség van a sebesség növelésére, akkor a programozók gyakran inkább nagyobb egész számokat használnak (10,95 helyett 1095-ként tárolják a számot, mert így egész számként tárolódik és csak akkor alakítják 10,95-re ismét, ha pl ki kell iratni valahová).

Lásd még

String()

array

bool

boolean

byte

char

double

int

éomg

short

size_t

string

unsigned char

unsigned int

unsigned long

void

word

Szólj hozzá!

A bejegyzés trackback címe:

https://electro.blog.hu/api/trackback/id/tr4015037132

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása