logo

Co to jest double w C?

W tym temacie omówimy podwójny typ danych w języku programowania C. Język C udostępnia cztery główne typy danych, takie jak int, char, float , I platforma . Typ danych int służy do przechowywania liczby całkowitej, typ danych char służy do przechowywania typu znakowego, a typ danych float służy do przechowywania danych typu dziesiętnego z pojedynczą precyzją.

A podwójnie to typ danych w języku C, który przechowuje bardzo precyzyjne dane lub liczby zmiennoprzecinkowe w pamięci komputera. Nazywa się to podwójnym typem danych, ponieważ może pomieścić podwójny rozmiar danych w porównaniu z typem danych zmiennoprzecinkowych. Podwójny ma 8 bajtów , co jest równe 64 bity W rozmiarze. W przypadku podwójnego typu danych 1 bit oznacza reprezentację znaku, 11 bitów wykładnika, a pozostałe 52 bity wykorzystywane są jako mantysa. Zakres podwójnych to 1,7E-308 do 1,7E+308. Dane podwójne mogą być reprezentowane w liczbach rzeczywistych (1, 10), ułamkach dziesiętnych (0,1, 11,002) i minusach (-1, -0,00002). Może pomieścić około 15 do 16 cyfr przed i po przecinku dziesiętnym.

Na przykład 4,5672, 2,45354, -5,22234, 3,12345678901, 0,15197e-7 itd.

Co jest podwójne w C

Deklaracja i inicjalizacja zmiennej podwójnej

Deklaracja podwójnej zmiennej: Aby zadeklarować podwójną zmienną w C , musimy określić typ danych i nazwę zmiennej.

 double data1; 

Inicjalizacja zmiennej podwójnej: Aby zainicjować zmienną, możemy określić poprawną wartość nazwy zmiennej.

 Data1 = 3.2325467; 

Ponadto możemy zadeklarować i zainicjować nazwę zmiennej w jednym wierszu.

 double data1 = 3.2325467; 

Program pobierający rozmiar typów danych za pomocą funkcji sizeof().

Rozważmy przykład drukowania rozmiaru wszystkich typów danych w języku programowania C.

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() } 

Wyjście:

 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 

W powyższym programie używamy a rozmiar (), aby uzyskać rozmiar typów danych całkowitych, zmiennoprzecinkowych, znakowych i podwójnych z pominięciem parametrów int, char, float i double.

Program do konwersji stóp na metry przy użyciu typu danych double

Rozważmy przykład przekazania podwójnej liczby danych jako parametru do funkcji, a następnie przekształcenia stóp w metry.

while pętla Java

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; } 

Wyjście:

 Enter the feet in double 45.78 Converted feet to meter is: 13.957317 

Program konwertujący dane typu całkowitego na typ danych double

Rozważmy przykład konwersji liczby int na liczbę typu danych double w C.

Prog2.c

 #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); } 

Wyjście:

 Convert an int value into double data type is: 3.400000 

Program do konwersji temperatury Celsjusza na Fahrenheita

Rozważmy program konwertujący zadaną temperaturę Celsjusza na Fahrenheita w stopniach C.

Konwertuj.c

 #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; } 

Wyjście:

zmień nazwę katalogu w systemie Linux
 Enter the temperature in Celsius: 56.8 The temperature in Fahrenheit is: 134.240000 

Program wyświetlający sumę dwóch liczb podwójnych za pomocą funkcji

Rozważmy program obliczający sumę dwóch liczb podwójnych za pomocą funkcji w języku C.

podwójne.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 } 

Wyjście:

 Enter two double numbers 34.798 43.567 The result of two double number is: 78.365000 

float kontra double

pływający typ danych: Float to typ danych o pojedynczej precyzji, który przechowuje 32-bitową liczbę zmiennoprzecinkową lub liczbę dziesiętną i wynosi 4 bajty. Jest to predefiniowany typ danych lub słowo kluczowe, którego znaczenia i nazwy nie można zmienić. Typ danych float jest szybszy niż double, ponieważ jego zakres jest mały. Może pomieścić około 7 cyfr. Ponadto zakres typów danych float wynosi 1,5 x 10-Cztery pięćdo 3,4x1038.

podwójny typ danych: Double to precyzyjny typ danych, zawierający 64 bity zmiennoprzecinkowe lub liczbę dziesiętną i równy 8 bajtom. Jest to również predefiniowany typ danych, którego znaczenia i nazwy nie można zmienić. Jest wolniejszy w porównaniu do typu danych float, ponieważ ma duży rozmiar. Może pomieścić od 15 do 17 cyfr. A zakres podwójnych danych wynosi 5,0 x 10-3. 4. 5do 1,7x10308.

Wniosek:

Podwójny typ danych to dane zmiennoprzecinkowe o podwójnej precyzji. Może przechowywać dwukrotnie większy rozmiar danych w porównaniu z typem danych float, ponieważ double zajmuje 64 bity w pamięci komputera, czyli więcej niż 32 bity typu danych float. Zwykle jest używany do radzenia sobie z ogromnymi obliczeniami liczb i mantys w celu zapewnienia precyzji. Wielu programistów wybiera podwójny typ danych, ponieważ daje on dokładne wyniki dziesiętne dla liczb zespolonych.