Number - Sayı
Javascript sayıları 64-Bit uzunluğunda 'Çift Duyarlı Kayan Nokta' olarak IEEE-754 standartlarında tutar. IEEE-754 standardından daha büyük sayılar kullanılırsa hata vermez, 'sonsuz' olarak değerlenir.
Bir sayısal büyüklük tırnak içerisine alınmadan doğrudan yazılırsa number
tipinde olur. Bu şekilde matematiksel işlemlerde (toplama, çıkarma vb.) kullanılabilirler. Tırnak içerisinde yazılırsa string
olur ve matematiksel işlemlerde kullanılamazlar. Örnek.
Javascript tamsayılar ve ondalıklı sayılar için number değişkenini kullanır. Farklı tipler olarak ele almaz. Number
veri tipi güvenli olarak ile arasında değerler alabilir. Daha büyük veya küçük değerler de alabilir fakat karşılaştırmalarda yanlış sonuçlar üretir. Örneğin ile birbirlerine eşit mi sorusuna doğru cevabını alırsınız. Değer aralıklarını .MAX_VALUE
ve .MIN_VALUE
özellikleri ile görüntüleyin.
.MAX_VALUE
|.MIN_VALUE
|.MAX_SAFE_INTEGER
|.MIN_SAFE_INTEGER
Güvenli tamsayı değer aralıklarını .MAX_SAFE_INTEGER
ve .MIN_SAFE_INTEGER
özellikleri ile görüntüleyin.
Javascript HexaDecimal (16'lı), Octal (8'li) ve Binary (2'li) sayı sistemlerini kabul eder.
HexaDecimal - 16'lı Sayı Sistemi
Sayılar 0-9 arasındaki rakamlar ve A-F arasındaki harflerle temsil edilir.
0-9 arası rakamlar kendileri olarak, 10:A, 11:B, 12:C, 13:D, 14:E, 15:F olarak temsil edilir.
HexaDecimal sayılar '0x' ile başlayarak yazılır. Örnek: 0xFF
HTML Renk kodları bu sistemi kullanır ve gösterimi hashtag sembolü ile başlar. Örnek: #FFFFF
Octal - 8'li Sayı Sistemi
Sayılar 0-7 arasındaki rakamlarla temsil edilir.
Octal sayılar '0o' ile başlayarak yazılır. Örnek: 0o377
Binary - 2'li Sayı Sistemi
Sayılar 0 ve 1 ile temsil edilir.
Binary sayılar '0b' ile başlayarak yazılır. Örnek: 0b11111111
Javascript'te çok sıfırlı sayıları yazarken 'e' harfi kullanılabilir. Örnek olarak:
Number
tipinde iki tane özel değer vardır. Bunlar Infinity ve NaN'dır.
Infinity Değeri
Sonsuz sayıları temsil eder. En büyük sayıdır. Javascript'in standardından daha büyük bir sayı yazarsanız veya bir sayıyı sıfıra bölerseniz Infinity
değerini elde edersiniz. Hata almazsınız. Örnek.
Infinity
değeri bir veri tipi değildir. Number
veri tipinin özel bir değeridir. Şunları deneyip sonucu görünüz.
NaN Değeri (Not a Number)
Matematiksel işlemi hatalı olan değişkenlerin değeridir. Örneğin bir harf rakama bölünemez. Bu durumda değeri NaN
olur. Örnek.
Bazı NaN
değeri üreten işlemler. Deneyiniz.
IEEE-754 Sayı Hataları
Birçok dilde kullanılan IEEE-754 standardı sayıları bellekte binary olarak tutar. Bunun sonucunda bazı yuvarlamaları otomatik olarak yapar ve hatalı sonuç döndürür. Örnek.
IEEE-754 standardı ondalık kısmı en fazla 16 basamağa kadar doğru verir. Ondalığın 17. basamağında yukarı doğru yuvarlamalar yapar. IEEE-754 varsayılan olarak 1 işaret digit'i, 52 tamsayı basamak digit'i ve 11 ondalık basamak digit'i tutar. Dolayısıyla binary olarak 52 basamaktan daha fazla olan bir tamsayı yazarsanız bunda da belirli bir düzende yukarı doğru yuvarlamalar yapar.
Aşağıda büyük bir tamsayının 2'lik tabandaki binary karşılığı verilmiştir. Sayı binary olarak 54 digit'tir. Yani 54 basamak uzunluğundadır.
Bu standardın 1 digit'i işaret olarak tuttuğunu ifade etmiştik. Bu durum sıfır (0) sayısı için de geçerlidir. Yani sıfır -0 ve +0 olarak iki sayı vardır. Sıfır sayısı iki türlü de binary olarak tamamen sıfırlardan oluştuğu için bu durum bir hataya sebep olmaz. Fakat -0 ve +0 standart olarak kullanılabilir. Aynı durum Infinity
için de geçerlidir. Yani -Infinity
ve +Infinity
olarak kullanılabilir.
Last updated