Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => C/C++ => Konuyu başlatan: Faruk53 - 30 Kasım 2017, 14:55:09

Başlık: Hex yazımında UL?
Gönderen: Faruk53 - 30 Kasım 2017, 14:55:09
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.
Başlık: Ynt: Hex yazımında UL?
Gönderen: foseydon - 30 Kasım 2017, 15:04:23
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
Başlık: Ynt: Hex yazımında UL?
Gönderen: Faruk53 - 30 Kasım 2017, 15:22:00
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.
Başlık: Ynt: Hex yazımında UL?
Gönderen: jrcapa - 30 Kasım 2017, 15:38:19
0x03UL = 32 bit
0x03     =  8 bit

Sen 32 bitin ilk 8 biti ile işlem yaptığın için aynı sonucu alıyorsun.
Başlık: Ynt: Hex yazımında UL?
Gönderen: Faruk53 - 30 Kasım 2017, 15:56:44
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?