u3 gibi Keyfi Genişlikte Tamsayılar
Kesin bit genişliğine sahip sayı türlerini kullanın.
u3 gibi Keyfi Genişlikte Tamsayılar, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.
u8 ve u32'nin Ötesi
Zig, alışılmış boyutlarla sınırlı değildir. u1'den çok büyük değerlere kadar herhangi bir bit genişliğinde tamsayı isteyebilirsiniz.
uN Kalıbı
Tam olarak belirtilen sayıda bit içeren işaretsiz bir tamsayı elde etmek için u harfinin ardından bir sayı yazın. Örneğin u3 üç bit tutar.
const level: u3 = 5;İşaretli Sürümler de Var
Her genişlikte işaretli bir tamsayı elde etmek için u yerine i yazın; böylece i4 küçük bir işaretli aralığı kapsar.
const delta: i4 = -3;Aralığı Kesin Olarak Denetleme
Üç bit sekiz farklı birleşim sağladığı için bir u3, 0 ile 7 arasındaki değerleri depolar. Bu aralık türün kendisi tarafından uygulanır.
Sınırları Bulma
Sınırları kendiniz ezberlemek yerine türün üst ve alt sınırlarını maxInt ve minInt ile öğrenin.
const hi = std.math.maxInt(u3); // 7
const lo = std.math.minInt(u3); // 0Tek Bitlik Tamsayılar Bile
Bir u1 yalnızca 0 veya 1 tutar; doğrudan depolayabileceğiniz ve hesaplamalarda kullanabileceğiniz tek bir ham bit gibi davranır.
const bit: u1 = 1;u0 Gerçek Bir Türdür
u0 bile vardır. Yalnızca 0 değerini alabilir ve hiç bit kaplamaz; bu, genel kodlarda kullanışlıdır.
Paketlenmiş Alanlar İçin İdeal
u3 ve u5 gibi alışılmadık genişlikler bir packed struct içinde idealdir; her alanın tam olarak ihtiyaç duyduğu bitleri almasını sağlar.
const Color = packed struct {
r: u5,
g: u6,
b: u5,
};Taşmaya Dikkat Edin
8 değerini bir u3'e atamak aralığın taşmasına neden olur. Güvenli kiplerde Zig, değerin sessizce devre dönmesine izin vermek yerine bunu çalışma zamanında yakalar.
Genişletmek İçin Dönüştürme
Daha fazla hesaplama alanına ihtiyaç duyduğunuzda dar bir değeri daha geniş bir türe aktarmak için @as veya @intCast kullanın.
const small: u3 = 5;
const big: u16 = @as(u16, small);Niyeti İfade Etme
Keyfi genişlikler, tür sisteminin gerçek kısıtlarınızı belgelemesini sağlar; böylece u4, bir değerin hiçbir zaman 15'i aşamayacağını açıkça gösterir. 🎯
Kısa Denetim
Üç bitin kaç farklı değer alabileceğini düşünün.
Özet
u3 ve i4 gibi keyfi genişlikte tamsayılarla tanıştınız: kesin aralıklar, paketlenmiş alanlar için ideal kullanım ve güvenli kiplerde taşma denetimi. 🎉
Sıkça Sorulan Sorular
“u3 gibi Keyfi Genişlikte Tamsayılar” dersi ücretsiz mi?
Evet — “u3 gibi Keyfi Genişlikte Tamsayılar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.
“u3 gibi Keyfi Genişlikte Tamsayılar” dersinde ne öğreneceğim?
Kesin bit genişliğine sahip sayı türlerini kullanın. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Zig Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“u3 gibi Keyfi Genişlikte Tamsayılar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Kesin Yerleşim için packed struct
- u3 gibi Keyfi Genişlikte Tamsayılar
- Bit Alanları ve Bayraklar
- extern struct ve ABI Yerleşimi