Bitwise Guide
Bitwise Açıklaması
Bildiğiniz gibi, bilgisayarlardaki her şey en düşük düzeyde ikili. İkilik sistemindeki 1 ve 0'lara bit denir ve 8 biti bir bayt olarak adlandırılır.
Bitwise Operasyonları bu bitleri manipüle etmek için tasarlanmış fonksiyonlardır. Bu çeşitli nedenlerle kullanılabilir ancak genellikle programcının yeni bilgileri aynı miktarda alana saklaması amacıyla ikili 1'lerin ve 0'ların elle çevirilmesi için kullanılmaktadır. biraz. Kütüphane.
Açıklama:
Şimdi bitsiz işlemlerin ne olduğunu anladığınızı ve anlayışınızı güçlendirmek için bir örnek bıraktığınıza göre.
Aşağıda, bir RGBA değerini 32 bit uzunluklu int değere "paketleyen" bir kod fragmanı verilmiştir. Hexadecimal form).
Şimdi bu işlemleri birebir bölüyoruz. Böylece bitlerin el ile çevirilmesi için işlemi nasıl kullandığımızı anlayabilirsiniz.
Paketleme Süreci
Başlamadan önce, geri vermek istediğimiz ikili sayının uzunluğunu görselleştirelim. Bir sayı iade etmek istiyorsak 32 bit göndermek istiyoruz:
Her boşluk bir baytı oluşturan 8 bit'i temsil eder.
Bu örnek için bizim r Değeri 255 olacak (İkili 111111111 adımdaki int'e ekleyelim:
Şimdi bu int'e daha fazla bit eklemek için önce 255 değerimizi yoldan çıkarmamız gerekiyor. bit.lshift function which kullanmak istediğimiz değeri alacak (255 or 11111111) ve soluna hareket ama n Bit miktarı.
Değerimizi başlangıç baytına taşımak istediğimiz için onu 24 bit sola taşıyacağız.
Bu işlevi sonraki her RGBA bileşeni için yapacağız:
Şimdi sadece son 8 bit (veya bayt) kaldığı için biz de ekleyebiliriz. a Son bitli işlemimizle değeri sona erdirdik.
-
bit.borOperasyon burada sadece her şeyi bitsiz bir sayı olarak kapsayacak şekilde var. Bu kısım için hiçbir mantıksal fayda sağlamaz.
İşte paketleme işlemi için bu kadar. 4 sayısal değeri alıp 1 daha büyük değerle temsil ediyoruz.
Neden?
Bilgisayarın gördüğü gerçek bilgi parçalarını karşılaştırırsak bunu kolayca görebiliriz:
Paketlenme Süreci
Şimdi ne yaptığımızı bildiğiniz için paketleme işlemi çok daha kolaydır. Bilgilerimizi dışarı çıkarmamız gerekiyor.
Tek yapmamız gereken, çıkarmak istediğimiz değerleri izole etmek. Bunu hexadecimal değeri kullanarak yapabiliriz
Bit bayrakları
Bit bayrakları (veya bit bayrağı) tek bir sayının içinde depolanan, 32 bit tamsayı üzerindeki her bitin ayrı bir bayrak olduğu bayraklardır.
Doğaları gereği bitwise OR işlemini kullanarak birlikte birleştirilebilirler. bit.bor.
Örneğin: FL listesiBirleştiririz. FL_NPC (değer 16384) ve FL_GODMODE (değer 32768) böyle birleştirildi.
Bit bayrakları bitwise AND işlevi ile test edilebilir. Eğer yukarıdaki işlemi alır ve sonucunu bir değişkendeki kaydedersek, belirli bir bayrağın (veya birden fazlasının) aşağıdakiler gibi bir sayıda ayarlanıp belirlenmediğini sınayabiliriz:
Son olarak, bit işaretleri BAND ve NOT işlemleriyle kaldırılabilir:
Bitsiz işlemler sıralı olan sayımlarda kullanılamaz, yani 1,2,3,4,5,6, vb. HUD listesi.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord