Merhaba;
Bir kodda böyle bir ifade gördüm:
unsigned long d = 0x800000UL
UL herhalde unsigned long un kısaltılması.
Ama bu UL neden konuluyor? Zaten başta unsigned long denmiş.
Konulmaması sorun mu teşkil eder?
C++ için bir sayıyı sekizli olarak göstermek için 0 önekini kullanır. Yani 0177 sekizlik düzende bir sayıdır.
Onaltılık sayı düzenini göstermek için de 0x ya da 0X ön ekini kullanır. 0x2B3 gibi..
unsigned long 0 ila 4294967295 arasında değer alabilir.
Sizin verdiğiniz örnekte sayı onaltılık sayı sisteminde yazıldığı için kütüphaneyi yazan kişi özellikle sayının işaretsiz olduğunu belirtmek için kullanmış olabilir.
Zamanında bu ULL meselesi yüzünden bir sıkıntı yaşamıştım. Sorunu ve çözümü bu başlıkta (https://www.picproje.org/index.php/topic,32584.0.html) dile getirmiştim. İncelenmesi faydalı olabilir.
Sanırım bunlara özellikle pre-processor ifadelerinde kullanırken dikkat etmek gerekiyor. Yani makrolarda ve #define ile yapılan tanımlamalarda.