2010-10-25 38 views
22

Bu türden bir editörün dahil edilmemesinin bir nedeni var mı, onaltı ve sekizlik biçimlere izin verilir mi?Java'da neden ikili dosya yok?

+0

Çoğu dilde, Java'ya dahil edilmemesi için aynı nedene dahil değildir. Ama yine de genel sebebini bilmek isterim. –

+0

Hızlı yanıtlar için teşekkürler. Özet olarak, basitçe içerilmediğini söylerim çünkü C'nin sahip olmadığı ve karmaşıklık kattığı için değil. Heck, sekizli dahil edilmiştir ve bende bunun ikiliyle karşılaştırıldığını görmüyorum ama sadece C'nin sahip olduğu için. Bu teklifin http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000929.html'den de görebileceğimiz gibi, ikili edebi özellikle bit yönelimli alanda çok fazla avantaj sağlamaktadır. –

cevap

26

Java 7 new features it.Check içerir.

Örnek:

int binary = 0b1001_1001; 
+8

Daha yeni ve daha "resmi" bir referans - http://openjdk.java.net/projects/coin/ –

+1

Harika bağlantı +1. Bu bana, http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000929.html 'ye yol açıyor, bu da benim nedenlerimi neden bir ikili edebi görmek istediğimi özetliyor. –

+2

Daha yeni bir bağlantı var: http://download.oracle.com/javase/7/docs/technotes/guides/language/binary-literals.html –

25

İkili değişmezleri "Improved Integer Literals" Bkz Java 7. sokuldu:

int i = 0b1001001; 

biri şu büyük olasılıkla günden itibaren bunları dahil değil nedeni: Java üst düzey bir dildir ve ne zaman oldukça kısıtlayıcı olmuştur daha az önemli ve düşük seviyeli dil yapılarına gelir. Java geliştiricileri, "şüpheye düştüğü takdirde, onu dışarıda tutmak" konusunda genel bir politikaya sahiptir.

Eğer Java 6 veya daha eski yapıyorsanız, en iyi seçenek Nisan 2004'den beri

int yourInteger = Integer.parseInt("100100101", 2); 
+4

C orta düzey bir dildir ve çok düşük seviyeli dil yapıları söz konusu olduğunda tarihsel olarak oldukça izin vericidir. Yine de, ikili değişmezler yok. –

+1

Evet, bu IMO yabancı. Anladığım kadarıyla bir süredir GCC'de mevcuttu. – aioobe

+1

Sekizli okurları ikili bulduklarından çok daha fazla insanı ne kadar faydalı bulur? – supercat

1

associated bug açıktır yapmaktır, düşük önceliğe sahiptir ve Güneş/Oracle tarafından geliştirme için bir istek olarak kabul edilir . Onların ikili değişmezleri dil daha karmaşık hale getirmesine ve bariz faydalar sağlamaz sanıyorlar

...

0

ikili değişmezleri uygulayan karmaşık olduğunu burada bir izlenim var gibi görünüyor. Öyle değil. Yaklaşık beş dakika sürecek. Artı test senaryoları elbette.