"%lux"
biçimi, "%lu"
(imzasız uzun, ondalık) ve ardından x
numaralı bir mektup olarak kabul edilir.
"%x"
biçimi, imzasız türden bir argüman gerektirir; Onaltılık biçimde imzalı tamsayılar basmak için hiçbir (doğrudan) mekanizma yoktur.
Onaltılı olarak unsigned long
değerini yazdırma biçimi "%lx"
şeklindedir. (x
u
işaretsiz desimaldir, d
ondalık imzalanır, heksadesimaldir, bunların herhangi bir uzun süre l
ile nitelikli olabilir.) Bu değer 13835058055298940928
taşma olmadan saklamak için en az bir 64-bit işaretsiz tipi gerektiren
Not . unsigned long
tipi en az 32 bittir; numaralı sistemlerinde 64 bit var, ama hiçbir şekilde. Kodunuzun taşınabilir olmasını istiyorsanız, unsigned long
yerine unsigned long long
yazın. Onaltılı olarak unsigned long long
değerini yazdırmak için kullanılan biçim "%llx"
.
Anlaşılır olması için, genellikle 0x
ile onaltılık çıktı önüne, bu yüzden bir onaltılık sayı okuyucuya açıktır:
printf("0x%llx\n", some_unsigned_long_long_value);
(Sen %#llx
ile aynı sonucu elde edebilirsiniz, ama daha kolay bulmak 0x
, #
bayrağının anlamını hatırlatmaktan başka bir şey yazmaz.)
Onaltılık işareti imzalı veya imzasızdır - x ihtiyacınız olan her şeydir. –
'% lux','% lu' + 'x' –
olarak kabul edilir ve '1024' yerine arabellek alanı –