2016-03-25 14 views
2

Çoğu programlama dilleri, bir bit bitlik çalışmayı temsil etmek için ~ kullanır. Git, aksine, ^ kullanır:Neden git, tekil bit için değil ~ yerine^'yi kullanıyor?

fmt.Println(^1) // Prints -2 

Geçiş Neden tasarımcıları burada kongre ile kırmaya karar verdi?

+0

Bu neden olmuştur x? "Cevaplar, gerçekler, referanslar veya özel uzmanlıktan ziyade neredeyse tamamen fikirlere dayalıdır" söz konusu değildir - kabul edilen cevap, Go dil şartnamesindeki bir açıklamaya bir bağlantı içerir! – user200783

cevap

7

^x, m = "ile işaretli x için tüm bitler 1" olarak ayarlanmış m ile x^ve imzalı x için m = -1 eşdeğeri olduğundan. Says so in the spec.

O -x 0 nasıl benziyor - "olarak öncelikle düşünceye dayalı beklemeye"