Bit Kaydırma Hesaplama
Bit kaydırmasını hesaplamak için bir tam sayı ve kaydırma miktarı girin.
Sonuç
Nasıl hesaplanır?
Girilen değer tam sayıya yuvarlanır ve işaretli 64 bitlik bir tam sayı üzerinde seçilen sayıda bit konumu kadar kaydırılır. Sola kaydırma: sonuç = değer × 2n. Sağa kaydırma: sonuç = taban(değer ÷ 2n); işareti koruyan aritmetik kaydırmadır, bu yüzden negatif sayılar eksi sonsuza doğru yuvarlanır (-7'nin 1 basamak sağa kaydırılması -4 verir).
Kaydırma miktarı n 0 ile 63 arasında bir tam sayı olmalı, değerin büyüklüğü de 253'ü aşmamalıdır. İşaretli 64 bit aralığını aşacak bir sola kaydırma (örneğin 1'in 63 basamak sola kaydırılması) başa dönmek yerine sonuç vermez. Negatif sonuçlar ondalık satırda eksi işaretiyle görünür, ancak onaltılık ve ikili satırlar 64 bitlik ikiye tümleyen (two's complement) düzenini gösterir; bu yüzden -5, 0xFFFFFFFFFFFFFFFB olarak çıkar.
Örnek hesaplama
13 sayısını 3 basamak sola kaydıralım. İkili düzende 13, 1101 olarak yazılır. Tüm bitleri üç basamak sola taşıyıp sağı sıfırla doldurunca 1101000 elde edilir. Bu, 13 × 23 = 13 × 8 = 104 eder. Araç ayrıca onaltılık karşılığı 0x68 (6 × 16 + 8 = 104) ve ikili karşılığı 0b1101000 değerlerini gösterir.
Sık yapılan hatalar
- Negatif bir sayının sağa kaydırılmasının sıfıra doğru yuvarlanacağını sanmak: sonuç aşağı yuvarlanır, yani -7 >> 1 işlemi -3 değil -4 verir.
- Negatif sonucun onaltılık ve ikili satırlarını sayının mutlak değeri sanmak: bunlar 64 bitlik ikiye tümleyen düzenidir, bu yüzden -5 için uzun F ve 1 dizileri görünür.
- 64 veya daha büyük ya da negatif bir kaydırma girip başa dönmesini beklemek: araç yalnızca 0 ile 63 arasını kabul eder, bu aralığın dışında sonuç vermez.
- Sola kaydırmanın her zaman 2n ile çarpmaya eşit olduğunu varsaymak: bu yalnızca sonuç işaretli 64 bit aralığına sığdığı sürece geçerlidir; 1'in 63 basamak sola kaydırılması reddedilir.
- 13,6 gibi ondalıklı bir değer girip kesirli sonuç beklemek: bit kaydırma tam sayılarla çalışır, bu nedenle değer önce 14'e yuvarlanır.
Bu hesaplama hakkında
Bit düzeyinde kaydırma, bir tam sayının ikilik gösterimindeki her biti belirli bir konum sayısı kadar sola veya sağa taşır. Sola kaydırma (<<) sağdan sıfır bitleri ekler ve 2ⁿ ile çarpmaya eşdeğerdir; sağa kaydırma (>>) sağdaki bitleri düşürür ve 2ⁿ'ye tam sayı bölmeye eşdeğerdir; negatif sayılarda bu araç, çoğu programlama dili gibi işaret bitini koruyan aritmetik kaydırma kullanır (sonuç eksi sonsuza doğru yuvarlanır). Bu araç, girdiğiniz tam sayıya seçtiğiniz işlemi uygular ve sonucu ondalık, on altılık ve ikilik gösterimde yan yana gösterir.
Yazılım mühendisleri, gömülü sistem geliştiricileri ve bilgisayar bilimi öğrencileri, ikinin kuvvetleriyle hızlı aritmetik işlemler yapmak, birden fazla değeri tek bir tam sayı içine paketlemek (bayraklar, RGB renk kanalları, ağ protokolü başlıkları) ve özet (hash) fonksiyonları veya sağlama toplamları uygulamak için bit kaydırmayı sürekli kullanır — CRC gibi işlemler ve birçok kriptografik ilkel neredeyse tamamen kaydırma ve XOR işlemlerinden oluşur, çünkü bunlar tek bir CPU çevriminde çalışır ve genel bir çarpma veya bölmeden çok daha hızlıdır.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (VKİ)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
- Kredi Hesaplama
- Kar Hesaplama
- İndirim Hesaplama
- Vücut Kitle Endeksi (VKİ)
- Yüzde Hesaplama
- İdeal Kilo Hesaplama
- Yaş Hesaplama
- Gebelik Hesaplama
- Bileşik Faiz Hesaplama
- Bazal Metabolizma (BMR) Hesaplama
- Bahşiş Hesaplama
- Yakıt Maliyeti Hesaplama
- Tarih Farkı Hesaplama
- Uyku Döngüsü Hesaplama
- Günlük Su İhtiyacı Hesaplama
- Basit Faiz Hesaplama
- Kalp Atış Hızı Bölgeleri Hesaplama
- Koşu Temposu Hesaplama
- Evcil Hayvan Yaşı Hesaplama
- Kalori Yakım Hesaplama
- Makro Besin Dağılımı Hesaplama
- TDEE (Toplam Günlük Enerji İhtiyacı) Hesaplama
- Bel-Kalça Oranı Hesaplama
- Takdir ve Teşekkür Belgesi Hesaplama
- Tek Tekrar Maksimum (1RM) Hesaplama
- Yumurtlama (Ovülasyon) Hesaplama
- Elektrik Maliyeti Hesaplama
- Birim Fiyat Hesaplama
- Tasarruf Hedefi Hesaplama
- Başabaş Noktası Hesaplama
- Boya Hesaplama
- Vize-Final Ortalama Hesaplama
- İş Günü Hesaplama
- Saat Farkı (Süre) Hesaplama
- Yakıt Tüketimi Hesaplama
- Sıcaklık Birimi Çevirici
- Fayans (Seramik) Hesaplama
- En-Boy Oranı Hesaplama
- Roma Rakamı Çevirici
- Hedef Kilo Süresi Hesaplama
- Maaş Çevirici (Saatlik-Yıllık)
- Kredi Kartı Doğrulama (Luhn)
- Vücut Yüzey Alanı (BSA) Hesaplama
- Hissedilen Sıcaklık Hesaplama
- Ohm Kanunu Hesaplama
- PPI (Piksel Yoğunluğu) Hesaplama
- Molar Kütle Hesaplama
- Burç Hesaplama (Batı + Çin)
- IBAN Doğrulama
- Ayakkabı Numarası Dönüştürücü
- Ülke Bilgisi (Telefon Kodu) Sorgulama
- Saat Dilimi Farkı (Dünya Saati)
- CAGR (Bileşik Yıllık Büyüme) Hesaplama
- 72 Kuralı Hesaplama
- Kandaki Alkol (Promil) Hesaplama
- Yağsız Vücut Kütlesi (LBM) Hesaplama
- Pisagor Teoremi Hesaplama
- Hız Birimi Dönüştürücü
- İndirme Süresi Hesaplama
- Tarih Hesaplama (Gün Ekle/Çıkar)
Hesaplayıcı bulunamadı
Yorumlar (1)
Bu hesaplayıcı işaretli 64 bitlik bir tamsayıda çalışır; başka yerde yazdığınız kodla karşılaştırırken bu önemlidir. 1'i 31 bit sola kaydırmak burada 2147483648 verir, C ya da JavaScript'te 32 bitlik işaretli bir tamsayı ise bunu negatif bir sayıya sarar. 64 bitlik aralığı aşacak bir sola kaydırma, sarmak yerine sonuç vermez. Sonucunuz programınızdan farklıysa önce tamsayı genişliğine bakın. Hangi dille karşılaştırıyorsunuz?