C++'da Setprecision Nasıl Kullanılır?

C Da Setprecision Nasil Kullanilir



Matematik ve fizikte kayan nokta değerlerini ve bilimsel gösterimi öğrenmiş ve çalışmış olabilirsiniz. Ayrıca kayan noktalı sayılarda yuvarlama yapmayı da öğrenmiş olabilirsiniz. C++'daki setprecision yardımcı programı genellikle kayan noktalı tamsayı çıktı dizisi içinde görüntülenen sayıların sırasını değiştirmek için kullanılır. Yuvarlama işleviyle aynı şekilde çalışır. Bu yöntem standart kütüphanesinde tanımlanmıştır. Bu derste size C++’ın “setprecision” fonksiyonunun nasıl kullanılacağını göstereceğiz. Öyleyse başlayalım. Üzerinde çalışmak için Ubuntu kabuk uygulamasını “Ctrl+Alt+T” ile başlatmalıyız. Bizim durumumuzda g++ olan C++ derleyicisini yüklemeye başlamalıyız. Dolayısıyla şu ana kadar apt paketi bu amaçla kullanılacak. Sistem g++'ı yalnızca birkaç saniye içinde yükleyecektir: $ sudo uygun düzenlemek g++

Örnek 01:

Böylece “new.cc” dosyasını “nano” komutuyla açtık. Bu dosya, kabuğun 'dokunma' sorgusu kullanılarak oluşturulur. Dosya artık nano düzenleyicide boş bir dosya olarak başlatılıyor. En üstte giriş-çıkış “iostream” başlık dosyasını ekledik. Kodumuzun setprecision() metodunu kullanabilmek için “iomanip” kütüphanesi eklenmiştir. Bundan sonra, standart kod ve sözdizimi yöntemini kullandığımızdan emin olmak için standart 'std' ad alanını kullandık. Kodun tamamı C++ kodunun main() fonksiyonu içerisinde gerçekleştirildi. Bu amaçla başka hiçbir kullanıcı tanımlı işlev kullanılmaz.







Main() fonksiyonu içerisinde, double değeri olan double tipi bir değişken “v” başlattık. İlk “cout” standart ifadesi, kabuktaki gerçek çift değişkenli “v” değerini herhangi bir güncelleme olmadan görüntüler. Bundan sonra her birinde setprecision() yöntemini kullanmak için 8 cout ifadesi kullandık. Bu, setprecision() fonksiyonunu her seferinde “v” değişkeninin her kayan noktasına uygulamak içindir. Ayar hassasiyetinin yalnızca 5'ten büyük veya ona eşit değerde çalıştığını anlamalısınız. Kayan nokta değeri 5'ten büyükse, kendisinden önceki değeri artıracaktır.



Örneğin, 1. kayan noktadaki setprecision(), noktadan sonraki '5' değerini yuvarlayacak ve '4' değeri 5'e dönüştürülecektir. Benzer şekilde, 2. kayan nokta değeri '2' de yuvarlanamaz, 3. kayan nokta değeri “7”, “2” değerini “3”e dönüştürecektir, 4. kayan nokta değeri “4” yuvarlanamaz, 5. kayan nokta değeri “9” ise “4” değerini dönüştürecektir. ” ondan önce 5'e kadar. “0” noktasında “4” değeri 5'e dönüştürülecektir. Negatif setprecision() işlevi gerçek değerin tamamını görüntülemek dışında hiçbir şey yapmaz. setprecision() uygulandıktan sonra 0 ila 5 ve -1, -2 kayan noktalardaki tüm değerler görüntülenecektir:







Setprecision C++ kodunu g++ derleme sorgusu ve “./a.out” yürütme sorgusu ile derleyip çalıştırmanın zamanı geldi. Çıktı, ilk setprecision(1)'in 4'ü 5'e dönüştürdüğünü gösterir. Setprecision(2) hiçbir şey yapmadı ve '4,5' değerini görüntüler. Setprecision(3) değeri “4,52”den “4,53”e çıkardı. setprecision(4) “4.527” değerine hiçbir şey yapmaz. setprecision(5) değeri “4.5274”ten “4.5275”e artırır. setprecision(0) değeri 5'e artırdı. setprecision(-1) ve setprecision(-2) aşağıda gösterildiği gibi hiçbir şey yapmadı:

$ g++ yeni.cc

$. / a.dışarı



Örnek 02:

Başka bir örneğe bakalım. Kod yukarıdaki örneğe benzer, yalnızca cout ifadelerinde bir değişiklik vardır. İlk cout orijinal değerleri gösterirken sonraki ikisi, 1 ve 5 kayan noktalardaki setprecision() sonucunu gösterir. Son cout, fiziksel olarak mevcut olmayan 9 kayan noktadaki setprecision() yönteminin sonucunu görüntüler. 1 ve 5 kayan nokta sonuçları oldukça beklenen sonuçlardır ancak kayan nokta 9 hakkında bir şey söyleyemeyiz. Şimdi dosyayı çalıştıralım ve bu kodun çıktısının ne olacağını kontrol edelim:

#include

#include

kullanarak ad alanı std ;

int ana ( ) {

çift içinde = 4.52749 ;

cout << 'Değer ayarlanmadan önceki değer : ' << içinde << ' \N ' ;

cout << hassasiyeti ayarla ( 1 ) << 'Val saat 1'de: ' << içinde << ' \N ' ;

cout << hassasiyeti ayarla ( 5 ) << 'Saat 5'te Val:' << içinde << ' \N ' ;

cout << hassasiyeti ayarla ( 9 ) << 'Val saat 9'da: ' << içinde << ' \N ' ;

geri dönmek 0 ;

}

Bu kodun derlenmesi ve çalıştırılmasından sonra, “4.52749” kayan nokta değerinin 1. ve 3. konumlarındaki kesinlik ayarı için bariz sonuçlara sahibiz. Ayar hassasiyeti 9'un sonucu çift değişkenli 'v'nin gerçek değerini gösterir. Bunun nedeni konum 9'un değerinin sabit olmaması olabilir:

$ g++ yeni.cc

$. / a.dışarı

“v” değişkeninin değerlerini düzeltmek için kodu tekrar güncelleyelim. Yani, değişkenin 1. konumuna uygulanan ilk setprecision() cout deyiminden sonra cout'ta sabit değişkeni kullandık:

#include

#include

kullanarak ad alanı std ;

int ana ( ) {

çift içinde = 4.52749 ;

cout << 'Değer ayarlanmadan önceki değer : ' << içinde << ' \N ' ;

cout << hassasiyeti ayarla ( 1 ) << 'Val saat 1'de: ' << içinde << ' \N ' ;

cout << sabit ;

cout << hassasiyeti ayarla ( 5 ) << 'Saat 5'te Val:' << içinde << ' \N ' ;

cout << hassasiyeti ayarla ( 9 ) << 'Val saat 9'da: ' << içinde << ' \N ' ;

geri dönmek 0 ;

}

Bu güncellenmiş kodu derleyip çalıştırdıktan sonra, 'v' değişkeninin 9. konumunda sabit kesinlik sonucunu elde ederiz, yani 4.527490000:

$ g++ yeni.cc

$. / a.dışarı

Çözüm:

Son olarak, bu tamamen bir double değişkenin değerini yuvarlamak ve görüntülemek için C++ kodundaki setprecision() yöntemini kullanmakla ilgiliydi. Ayrıca koddaki sabit değişkenleri ve faydalarını da anlattık. Ayrıca C++'da küme duyarlılığı kavramını açıklamak için iki önemli örneği hayata geçirdik. Bu makaleyi faydalı bulduğunuzu umuyoruz. Daha fazla ipucu ve eğitim için diğer Linux İpucu makalelerine göz atın.