Zaman/Sayılar

Bit Düzeyinde İşlemler

Belirli bir genişlikteki (8/16/32/64 bit) tamsayılar üzerinde AND/OR/XOR/NAND/NOR/XNOR/NOT ve kaydırma işlemleri, herhangi bir sayı sisteminde.

Bitwise operations work directly on a number's individual bits rather than its value as a whole — the basis for permission flags, network protocols, and low-level optimization.

How to use it

Common uses

Things to keep in mind

The result of NOT and shifts depends on the chosen bit width — the same number gives a different result at 8-bit versus 32-bit width because of the different number of bits involved.

XOR is often used to toggle a flag — applying XOR twice with the same value returns the original.

Bu araç hakkında makale: Bit düzeyi işlemler: AND, OR ve XOR bit seviyesinde nasıl çalışır

Sıkça sorulan sorular

AND, OR, XOR, NAND, NOR, XNOR ve NOT arasındaki fark nedir?

AND yalnızca her iki bit de 1 olduğunda 1 verir, OR en az biri 1 olduğunda 1 verir ve XOR bitler farklı olduğunda 1 verir. NAND/NOR/XNOR bunların olumsuzlarıdır ve NOT tek bir işlenendeki her biti tersine çevirir.

Bir sayının bit genişliği ve işareti nasıl ele alınır?

8/16/32/64 bitlik bir genişlik seçin — işlemler ve kaydırmalar bu aralıkta gerçekleşir. Negatif sayılar ikinin tümleyeni ile temsil edilir, bu yüzden ondalık gösterime alışkınsanız NOT veya bir kaydırmanın sonucu beklenmedik görünebilir.

Sola kaydırma ile sağa kaydırma arasındaki fark nedir?

Sola kaydırma (<<) sağa sıfır ekler, bu da etkili bir şekilde kaydırma miktarının kuvvetine 2 ile çarpar. Sağa kaydırma mantıksal (sola sıfır ekler) veya aritmetik (işaret bitini korur) olabilir — tür seçilen moda bağlıdır.

"if (a & b == c)" gibi bir ifade neden beklendiği gibi çalışmaz?

Çoğu dilde == karşılaştırma operatörü, bit düzeyi & operatöründen daha yüksek önceliğe sahiptir, bu yüzden ifade genellikle yazarın istediği gibi değil "a & (b == c)" olarak değerlendirilir. Bu tuzaktan kaçınmak için bit düzeyi işlemleri her zaman açık parantez içine alın.

Ayrı boolean değişkenler yerine neden bit bayrakları kullanılır?

Tek bir sayıya paketlenmiş bir bayrak seti daha kompakt şekilde saklanır ve iletilir (örneğin ağ protokollerinde veya dosya formatlarında), ve belirli bir bayrağı AND/OR/XOR ile kontrol etmek veya değiştirmek tek bir hızlı işlemdir.

Makaleler: Zaman/Sayılar

Unix zamanı: bilgisayarlar zamanı neden 1970'ten itibaren sayar

1 Ocak 1970'in çoğu bilgisayar sistemi için neden zaman referans noktası haline geldiği.

Cron ifadeleri: bir görev zamanlaması nasıl çözülür

*/15 * * * * gibi bir ifadenin nasıl çözüleceği ve görevin tam olarak ne zaman çalışacağının nasıl bilineceği.

Sayı sistemleri: ikili, sekizli ve on altılık sistemler neden var

CSS'te #FF5733 renginin neden ondalık yerine on altılık rakamlarla yazıldığı.

Tarih farkı: gün saymanın neden göründüğünden daha karmaşık olduğu

Tarihleri saf bir şekilde çıkarmanın artık yıllar yüzünden neden yanlış sonuç verebileceği.

Yaş hesaplama: bunun neden basit bir yıl çıkarma işlemi olmadığı

Sadece doğum yıllarını çıkarmanın neden gerçek yaştan bir fazla bir yaş verebileceği.

Saat dilimleri: UTC'nin GMT ile aynı şey olmadığı

UTC'nin yılda iki kez neden hiç değişmediği, ama Londra saatinin (GMT/BST) değiştiği.

Süre hesaplayıcı: saat, dakika ve saniyeler doğru şekilde nasıl toplanır

Dakika ve saniyeleri toplarken ondalık toplamada olduğu gibi kalanın neden bir sonraki basamağa "taşınması" gerektiği.

ISO 8601 Duration: bir süre standart biçimde nasıl yazılır

PT1H30M'nin neden "1 saat 30 dakika" anlamına geldiği, "1 dakika 30 saat" değil.

Hafta numarası: farklı ülkelerin haftaları neden farklı saydığı

1 Ocak'ın ISO 8601 standardına göre neden bazen önceki yılın 52. veya 53. haftasına ait olduğu.

Roma rakamları: sıfırı ve basamak değeri olmayan bir sistem nasıl çalışır

IV'ün neden 6 değil 4 anlamına geldiği, ve çıkarma kuralının Roma rakamlarında nasıl çalıştığı.

IEEE 754: kodda 0.1 + 0.2 neden 0.3'e eşit değil

Neredeyse her programlama dilinde 0.1 + 0.2'nin neden 0.30000000000000004 olarak göründüğü.

Sayının yazıyla ifadesi: rakamları neden kelimelere dönüştürmeli

Banka belgelerinde tutarın neden aynı anda hem rakamla hem yazıyla yazıldığı.