Hex yazımında UL?

Başlatan Faruk53, 30 Kasım 2017, 14:55:09

Faruk53

Arkadaşlar Merhaba;
C ile hex veya bazı sayı değerleri yazılırken sonuna u,ul gibi ifadeler alıyor. Bunların bir önemi veya anlamı var mıdır? Neden yazılıyor? yazılmasa da olur mu?

Örneğin;
_XTAL_FREQ 16000000UL ile _XTAL_FREQ 16000000 aynı mı? // Denedim herhangi bir sorun çıkmadı.

#define Mask_BIT0 0x0001u                      ile                      #define Mask_BIT0 0x0001 aynı mı? 

degisken &=~(0x03UL << pinNumber);      ile                      degisken&=~(0x03 << pinNumber); aynı mı?

Teşekkür ederim. Herkese İyi çalışmalar.

foseydon

#1
Unsigned, unsigned long terimlerinin kısaltması. Nasıl hex için 0x yaziyoruz, aynı şey. Cast ediyor, kullanmazsanız sorun çıkabilir yerine ve yapılan işleme göre. Burada Aynı kapıya çıkıyor. Sizin verdiğiniz örneklerde

Faruk53

Anladım hocam teşekkür ederim.  O zaman

degisken &=~(0x03UL << pinNumber);      ile                      degisken&=~(0x03 << pinNumber); aynı mı?


yukarıdaki örnekte sayı değeri olarak her ikisinde de  herhangi bir uyuşmazlık yok. Ben yine 0x03'ün binary olarak karşılığı ne ise ona göre işlem yapıcam.

jrcapa

0x03UL = 32 bit
0x03     =  8 bit

Sen 32 bitin ilk 8 biti ile işlem yaptığın için aynı sonucu alıyorsun.

Faruk53

Hocam çok teşekkür ederim. Şimdi oldu herşey. Sağolun. İyi çalışmalar.

Teyit Etmek amaçlı soruyorum hocam. O halde;

0x00UL= 32bit
0x00u = 16bit
0x00 = 8 bit  olarak işlem görüyor. doğru mudur hocam?