Python Reel Sayılar

Pek çok hesaplamalı işlem, kesir parçası olan sayıları kullanır. Örneğin bir dairenin çevresini ya da alanını hesaplamak için π değerine ihtiyacımız vardır ve bu değer yaklaşık 3,14159 olarak ifade edilir.

Python, bu şekilde noktalı sayılarla işlem yapar ve bu sayılara reel ya da gerçek sayı denir. İsminden de anlaşılacağı gibi matematiksel hesaplamalar sırasında ondalık nokta, önemli sayıları ifade etmek için farklı basamaklara kayabilir. Python ile programlama yaparken bu tanımı yapmak için float kelimesi kullanılır.

>>> x = 5.62

>>> x

5.62

>>> type(x)

<class “float”>

Python için reel sayıların alabileceği en küçük ve en büyük değer ile duyarlılık düzeyi, kullanılan makine ve uygulamaya göre değişiklik gösterebilir. Reel sayılar da tam sayılar gibi pozitif ve negatif olabilir. Yaygın olarak geçerli olan durum aşağıda görülmektedir.

Çoğu programlama editörü, alt ya da üst simge ve özel sembollerin kullanımını desteklemediği için sayıların gösterimi farklılaşmaktadır.

Python ile kod yazarken 6.022 x 1023 yerine 6.022e23 olarak yazmamız gerekir. Burada “e” karakterinin solunda kalan kısım normal sayı; sağında kalan kısım ise 10 üzerindeki sayıdır. Simge olarak “e” yerine “E” de kullanılabilir.

Reel sayılardan farklı olarak tam sayılar kesirli ifadeleri içeremez. Reel bir sayıyı bir tam sayıya dönüştürmenin iki temel yolu vardır:

  • Yuvarlama: Reel sayıya en yakın tam sayıya ulaşmak için kesrin belirli bir miktarı eklenerek ya da çıkarılarak yuvarlama yapılır.
  • Kesme: Sayının kesirli kısmı tamamen göz ardı edilir.

Yuvarlama ve kesme işlemlerinin sonuçlarının ne şekilde farklılaştığını gözlemleyebiliriz:

>>> 28.71

28.71

>>> int(28.71)

28

>>> round(28.71)

29

>>> round(19.47)

19

>>> int(19.47)

19

Görüldüğü gibi kesme, her zaman aşağı doğru yuvarlamaktadır.

Yuvarlama yapmak için round fonksiyonunu noktadan sonra belirli bir sayıda basamağı koruyarak sonuç elde etmek için de kullanabiliriz.

>>> x = 93.34836

>>> x

93.34836

>>> round(x)

93

>>> round(x, 2)

93.35

>>> round(x, 3)

93.348

>>> round(x, 0)

93.0

>>> round(x, 1)

93.3

>>> type(round(x))

<class “int”>

>>> type(round(x, 1))

<class “float”>

>>> type(round(x, 0))

<class “float”>

Görüldüğü gibi tek argüman tam sayı sonucu verirken iki argüman reel sayı sonucu vermektedir. Kullanılan ikinci argüman negatif bir değerde olabilir: round(n, r) ifadesi n sayısını 10-r ile çarpma işlemini yapar. Örneğin round(n, -2) n sayısını 10-2 ile çarpmaktadır.

>>> x = 28793.54836

>>> round(x)

28794

>>> round(x, 1)

28793.5

>>> round(x, 2)

28793.55

>>> round(x, 0)

28794.0

>>> round(x, 1)

28793.5

>>> round(x, -1)

28790.0

>>> round(x, -2)

28800.0

>>> round(x, -3)

29000.0

Python için round fonksiyonu tam sayılar için de kullanılabilir. Burada ilk argüman tam sayı, ikinci argüman ise yuvarlama için sola doğru kayması beklenen basamak sayısını ifade eder. İkinci değer pozitif bir değerse sayının orijinal değeri elde edilir. Her durumda sonuç her zaman tam sayıdır.

>>> round(65535)

65535

>>> round(65535, 0)

65535

>>> round(65535, 1)

65535

>>> round(65535, 2)

65535

>>> round(65535, -1)

65540

>>> round(65535, -2)

65500

>>> round(65535, -3)

66000

>>> round(65535, -4)

70000

>>> round(65535, -5)

100000

>>> round(65535, -6)

0

Yorum yapın