C Programlama

C Dilinde Ondalık Hassasiyeti Ayarlama

C Dilinde Ondalık Hassasiyeti Ayarlama

Bu makale, C programlama dilinde ondalık kesinliğin nasıl ayarlanacağını gösterecektir. İlk önce kesinliği tanımlayacağız ve ardından C programlamada ondalık kesinliğin nasıl ayarlanacağını göstermek için birden çok örneğe bakacağız.

C'de Ondalık Hassasiyet

Tamsayı tipi değişken normalde tam sayıyı tutmak için kullanılır ve kayan tip değişkeni kesirli kısımlarla gerçek sayıları tutmak için kullanılır, örneğin, 2.449561 veya -1.0587. Kesinlik, gerçek sayıların doğruluğunu belirler ve nokta ile gösterilir (.) sembolü. Gerçek sayıların Kesinliği veya Doğruluğu, ondalık noktadan sonraki basamak sayısıyla gösterilir. Bu nedenle, kesinlik, kayan nokta sayısında ondalık noktadan sonra belirtilen basamak sayısı anlamına gelir. Örneğin, 2 sayısı.449561 hassas altı ve -1'e sahiptir.058 hassas üç.

IEEE-754 tek duyarlıklı kayan nokta gösterimine göre, gerçek sayıyı saklamak için toplam 32 bit vardır. 32 bitten en anlamlısı işaret biti olarak, sonraki 8 bit üs olarak ve sonraki 23 bit kesir olarak kullanılır.

IEEE-754 çift duyarlıklı kayan nokta gösterimi durumunda, gerçek sayıyı saklamak için toplam 64 bit vardır. 64 bitin en önemli biti işaret biti olarak, sonraki 11 bit üs olarak ve takip eden 52 bit kesir olarak kullanılır.

Ancak gerçek sayıları yazdırırken, gerçek sayının kesinliğini (diğer bir deyişle doğruluğunu) belirtmek gerekir. Kesinlik belirtilmemişse, varsayılan kesinlik dikkate alınacaktır, i.e., ondalık noktadan sonra altı ondalık basamak. Aşağıdaki örneklerde, C programlama dilinde kayan noktalı sayıları yazdırırken kesinliğin nasıl belirleneceğini göstereceğiz.

Örnekler

Artık temel bir kesinlik anlayışına sahip olduğunuza göre, birkaç örneğe bakalım:

    1. Float için varsayılan hassasiyet
    2. Çift için varsayılan hassasiyet
    3. Float için hassasiyeti ayarla
    4. Çift için hassasiyeti ayarla

Örnek 1: Float için Varsayılan Hassasiyet

Bu örnek, varsayılan duyarlılığın ondalık noktadan sonra altı haneye ayarlandığını gösterir. 2 değerinde bir kayan değişken başlattık.7 ve kesinliği açıkça belirtmeden yazdırdı.

Bu durumda, varsayılan kesinlik ayarı, ondalık noktadan sonraki altı hanenin yazdırılmasını sağlayacaktır.

#Dahil etmek
int ana()

kayan nokta f = 2.7;
printf("\nf değeri = %f \n", f);
printf("şamandıranın boyutu = %ld \n", sizeof(kayan nokta));
0 döndür;

Örnek 2: Çift için Varsayılan Hassasiyet

Bu örnekte, çift tip değişkenler için varsayılan kesinliğin ondalık noktadan sonra altı haneye ayarlandığını göreceksiniz. Bir çift değişken başlattık, i.e., d, 2 değeri ile.7 ve hassasiyeti belirtmeden yazdırdı. Bu durumda, varsayılan kesinlik ayarı, ondalık noktadan sonraki altı hanenin yazdırılmasını sağlayacaktır.

#Dahil etmek
int ana()

çift ​​d = 2.7;
printf("\nD değeri = %lf \n", d);
printf("çiftin boyutu = %ld \n", sizeof(double));
0 döndür;

Örnek 3: Float için Kesinliği Ayarlayın

Şimdi size kayan değerler için kesinliğin nasıl ayarlanacağını göstereceğiz. Float değişkeni başlattık, i.e., f, 2 değeri ile.7 ve çeşitli hassas ayarlarla yazdırıldı. “%0” dediğimizde.printf ifadesinde 4f”, bu, ondalık noktadan sonra dört hane yazdırmakla ilgilendiğimizi gösterir.

#Dahil etmek
int ana()

kayan nokta f = 2.7;
/* kayan değişken için kesinliği ayarla */
printf("\nf değeri (hassasiyet = 0.1) = %0.1f \n", f);
printf("\nf değeri (hassasiyet = 0.2) = %0.2f \n", f);
printf("\nf değeri (hassasiyet = 0.3) = %0.3f \n", f);
printf("\nf değeri (hassasiyet = 0.4) = %0.4f \n", f);
printf("\nf değeri (hassasiyet = 0.22) = %0.22f \n", f);
printf("\nf değeri (hassasiyet = 0.23) = %0.23f \n", f);
printf("\nf değeri (hassasiyet = 0.24) = %0.24f \n", f);
printf("\nf değeri (hassasiyet = 0.25) = %0.25f \n", f);
printf("\nf değeri (hassasiyet = 0.40) = %0.40f \n", f);
printf("şamandıranın boyutu = %ld \n", sizeof(kayan nokta));
0 döndür;

Örnek 4: Çift için Kesinlik Ayarı

Bu örnekte, çift değerler için kesinliğin nasıl ayarlanacağını göreceğiz. Bir çift değişken başlattık, i.e., d, 2 değeri ile.7 ve çeşitli hassas ayarlarla yazdırıldı. “%0” dediğimizde.52f ”, printf ifadesinde bu, ondalık noktadan sonra 52 hane yazdırmakla ilgilendiğimizi gösterir.

#Dahil etmek
int ana()

kayan nokta f = 2.7;
/* kayan değişken için kesinliği ayarla */
printf("\nf değeri (hassasiyet = 0.1) = %0.1f \n", f);
printf("\nf değeri (hassasiyet = 0.2) = %0.2f \n", f);
printf("\nf değeri (hassasiyet = 0.3) = %0.3f \n", f);
printf("\nf değeri (hassasiyet = 0.4) = %0.4f \n", f);
printf("\nf değeri (hassasiyet = 0.22) = %0.22f \n", f);
printf("\nf değeri (hassasiyet = 0.23) = %0.23f \n", f);
printf("\nf değeri (hassasiyet = 0.24) = %0.24f \n", f);
printf("\nf değeri (hassasiyet = 0.25) = %0.25f \n", f);
printf("\nf değeri (hassasiyet = 0.40) = %0.40f \n", f);
printf("şamandıranın boyutu = %ld \n", sizeof(kayan nokta));
0 döndür;

Sonuç

Kesinlik, gerçek bir sayıyı yeterli doğrulukla temsil etmek için çok önemli bir faktördür. c programlama dili, gerçek bir sayının doğruluğunu veya kesinliğini kontrol etmek için mekanizma sağlar. Ancak, gerçek sayının gerçek kesinliğini değiştiremeyiz. Örneğin, 32 bitlik tek duyarlıklı kayan noktalı sayının kesir kısmı 23 bit ile temsil edilir ve bu sabittir; bunu belirli bir sistem için değiştiremeyiz. Sadece gerçek sayının istenen hassasiyetini ayarlayarak ne kadar doğruluk istediğimize karar verebiliriz. Daha fazla doğruluğa ihtiyacımız olursa, her zaman 64-bit çift kesinlikli kayan noktalı sayıyı kullanabiliriz.

Linux Eğitimi için Tomb Raider'ın Gölgesi
Shadow of the Tomb Raider, Eidos Montreal tarafından yaratılan bir aksiyon-macera oyunu serisi olan Tomb Raider serisine eklenen on ikinci oyundur. Oy...
Linux'ta FPS Nasıl Arttırılır?
FPS'nin kısaltması Saniyedeki Kare Sayısı. FPS'nin görevi, video oynatma veya oyun performanslarındaki kare hızını ölçmektir. Basit bir deyişle, her s...
En İyi Oculus Uygulama Laboratuvarı Oyunları
Oculus başlık sahibiyseniz, yandan yükleme hakkında bilgi sahibi olmalısınız. Sideloading, kulaklığınıza mağaza dışı içerik yükleme işlemidir. SideQue...