Ebben a témakörben a kettős adattípust tárgyaljuk a C programozási nyelvben. A C nyelv négy fő adattípust biztosít, mint pl int, char, float , és úszó . Az int adattípus egész szám, a char adattípus a karaktertípus, a lebegő adattípus pedig a decimális típusú adatok egyetlen pontosságú tárolására szolgál.
A kettős egy C nyelvű adattípus, amely nagy pontosságú lebegőpontos adatokat vagy számokat tárol a számítógép memóriájában. Dupla adattípusnak nevezik, mert a lebegő adattípushoz képest kétszeres adatméretet képes tárolni. Egy dupla van 8 bájt , ami egyenlő 64 bites méretben. Dupla adattípusban az 1 bit az előjelábrázoláshoz, 11 bit a kitevőhöz és a maradék 52 bit a mantisszához. A dupla tartomány 1,7E-308 és 1,7E+308 között van. A dupla adatok valós számmal (1, 10), tizedesjegyekkel (0,1, 11,002) és mínuszban (-1, -0,00002) ábrázolhatók. Körülbelül 15-16 számjegyet tartalmazhat a tizedesvessző előtt és után.
Például 4,5672, 2,45354, -5,22234, 3,12345678901, 0,15197e-7 stb.
Dupla változó deklarálása és inicializálása
Dupla változó deklarációja: Dupla változó deklarálásához C , meg kell adnunk az adattípust és a változó nevét.
double data1;
Dupla változó inicializálása: Egy változó inicializálásához érvényes értéket adhatunk meg egy változónévhez.
Data1 = 3.2325467;
Továbbá egy sorban deklarálhatjuk és inicializálhatjuk a változó nevét.
double data1 = 3.2325467;
Program az adattípusok méretének meghatározásához a sizeof() függvény segítségével
Nézzünk egy példát az összes adattípus méretének kinyomtatására C programozási nyelven.
sql concat
Get_size.c
#include #include void main() { // use sizeof() function to get the size of data type in c printf (' The size of int data type is %d', sizeof(int)); printf (' The size of char data type is %d', sizeof(char)); printf (' The size of float data type is %f', sizeof(float)); printf (' The size of double data type is %f', sizeof(double)); getch() }
Kimenet:
The size of int data type is 4 The size of char data type is 1 The size of float data type is 4 The size of double data type is 8
A fenti programban a mérete () függvény egy egész szám, float, karakter és dupla adattípusok méretének meghatározásához, amelyek megkerülik az int, char, float és double paramétereket.
Program a lábak mérővé konvertálására a kettős adattípus használatával
Tekintsünk egy példát arra, hogy a kettős adatszámot paraméterként adjuk át egy függvénynek, majd konvertáljuk a lábakat méterekre.
Prog.c
#include double feet_to_meter (double f); // declare a user defined function int main() { double feet, cnvt; // declare a variable as the double data type printf (' Enter the feet in double '); scanf('%lf', &feet); cnvt = feet_to_meter(feet); // call feet_to_meter function printf (' Converted feet to meter is: %lf', cnvt); return 0; } // definition of the function double feet_to_meter (double f) { return f / 3.28; }
Kimenet:
Enter the feet in double 45.78 Converted feet to meter is: 13.957317
Program egész számokat kettős adattípussá konvertál
Tekintsünk egy példát egy int szám átalakítására C-ben dupla adattípusú számmá.
Prog2.c
mi az a számítógép
#include int main() { int sum = 17, count = 5; double var; var = (double) sum / count; printf (' Convert an int value into double data type is: %lf ', var); }
Kimenet:
Convert an int value into double data type is: 3.400000
Program Celsius-t Fahrenheit hőmérsékletre konvertálni
Tekintsünk egy programot, amely egy adott Celsius-hőmérsékletet Fahrenheitre konvertál C-ban.
Convert.c
ábécé száma
#include int main() { // declaration of double variable double c_temp, f_temp; printf(' Enter the temperature in Celsius: '); scanf (' %lf', &c_temp); // accept the Celsius temperature f_temp = ( c_temp * 1.8) + 32; // use conversion formula printf (' The temperature in Fahrenheit is: %lf', f_temp); return 0; }
Kimenet:
Enter the temperature in Celsius: 56.8 The temperature in Fahrenheit is: 134.240000
Program két dupla szám összegének kinyomtatására a függvény segítségével
Tekintsünk egy programot, amely két dupla szám összegét kapja egy C függvény segítségével.
kettős.c
#include double sum_num(double p, double q); int main() { // declaration of the double variables double x, y, res; printf (' Enter two double numbers '); scanf(' %lf %lf', &x, &y); // take two double variable from user res = sum_num(x, y); // call double function printf (' The result of two double number is: %lf', res); return 0; } double sum_num(double p, double q) { return p + q; // return the sum of double values }
Kimenet:
Enter two double numbers 34.798 43.567 The result of two double number is: 78.365000
úszó vs dupla
float adattípus: A float egy egyszeres pontosságú adattípus, amely 32 bites lebegőpontos vagy decimális számot tartalmaz, és 4 bájtnak felel meg. Ez egy előre meghatározott adattípus vagy kulcsszó, amelynek jelentése és neve nem módosítható. A lebegő adattípus gyorsabb, mint a duplája, mert tartománya kicsi. Körülbelül 7 számjegyet tartalmazhat. Ezenkívül a lebegő adattípusok tartománya 1,5 x 10-Négy öt3,4x10-re38.
kettős adattípus: A double egy precíziós adattípus, amely 64 bites lebegőpontos vagy decimális számot tartalmaz, és 8 bájtnak felel meg. Ez is egy előre meghatározott adattípus, amelynek jelentése és neve nem módosítható. A float adattípushoz képest lassabb, mert mérete nagy. 15-17 számjegy tárolására alkalmas. A dupla adatok tartománya pedig 5,0 x 10-3. 4. 51,7x10-re308.
Következtetés:
A kettős adattípus kettős pontosságú lebegőmutatós adat. A float adattípushoz képest dupla adatméretet képes tárolni, mivel a dupla 64 bitet foglal el a számítógép memóriájában, ami nagyobb, mint a lebegő adattípus 32 bitje. Általában a számok és a mantisszák hatalmas kiszámításához használják a precíziós gyártmányok érdekében. Sok programozó a kettős adattípust választja, mert ez pontos decimális eredményeket ad komplex számokra.