C dili - 64 bit tam sayıların yönetilmesi
Temel olarak C dilinde, 32 bitin üzerindeki imzasız bir sayı 4, 294, 967, 295'in değerini aşamaz.
Daha büyük sayıları kullanmanız gerektiğini ve bunun için 64 bitlik kodlama için bu numaralara ihtiyacınız olduğunu görebilirsiniz.
Ancak, bu normal bir tamsayı ile aynı şekilde ele alınmaz. Farklı tanımlanmaları gerekir.
İmzasız 64 bit tam sayı
Türü: işaretsiz uzun uzun
Ekran formatı : % llu
Bir sabit tanımlamak için ek: ULL
Örnek:
// Değeri uzun süre işaretsiz bir 4294967296'ya atayın a = 4294967296ULL; // printf değerini göster ("% llu", a);
İmzalı 64 bit tam sayı
Türü: uzun uzun
Ekran formatı : % lld
Bir sabit tanımlamak için ek: LL
Örnek:
// Değeri 4294967296 uzunluğunda atayın a = 4294967296LL; // printf değerini göster ("% lld", a);
Sabit bir değer tanımlamak için olağandışı bir sonek kullanma
İmzasız uzun uzun a = 4294967296
Derleyiciniz bu sayının "uzun" tür için çok büyük olduğunu söyler. Bu kavram doğrudan 32 bit işlemcilerin mimarisiyle ilgilidir. 32 bit işlemci sınırlıdır ve varsayılan derleyiciniz sayıları bir kayıt defterine sığdırmaya çalışır. Ancak, LL ve ULL gibi bir sonekle, derleyiciniz numaranızı 2 yazmaçta, yani 64-bit'te depolar, bu nedenle çok daha büyük sayılara izin verir.