Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: satilla - 25 Temmuz 2011, 13:17:21

Başlık: 31. biti set edememe sorunu
Gönderen: satilla - 25 Temmuz 2011, 13:17:21
LPC_SC->PCONP |= (1<<30); bu şekilde 30. biti set edebiliyorum ama benim pconp'nin 31. bitini set etmem gerekiyor
30 yerine 31 yazıncada "integer operation result is out of range" gibi uyarı veriyor
ne yapsam bu warning kalkar
Başlık: Ynt: 31. biti set edememe sorunu
Gönderen: fahri- - 25 Temmuz 2011, 14:29:51
Bildiğim kadarıyla integer işlemlerde 31. bit işaret bitidir. o nedenle bu uyarıyı veriyor olabilir.
Başlık: Ynt: 31. biti set edememe sorunu
Gönderen: yamak - 25 Temmuz 2011, 14:36:58
1UL<<31 şeklinde yazmayı deneyin
Başlık: Ynt: 31. biti set edememe sorunu
Gönderen: satilla - 25 Temmuz 2011, 14:39:17
Alıntı yapılan: yamak - 25 Temmuz 2011, 14:36:58
1UL<<31 şeklinde yazmayı deneyin
evet hocam oldu bunun farkı nedir diğer tanımlamalardada kullanmamnın avantajı  varmı
Başlık: Ynt: 31. biti set edememe sorunu
Gönderen: yamak - 25 Temmuz 2011, 14:55:28
1 i 31 bit kaydırdığımızda int sınırları dışına çıktığımız için 1UL yazarak yapılan işlemi long olarak kabul et diyoruz derleyiciye.Yani int sınırları dışına çıkmayacaksak bunu yapmaya gerek yok.