Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

bit okuma

Başlatan povulon, 21 Şubat 2018, 12:29:37

povulon

MErhaba

int1 m;
int x ;

x = 0b11101010 ;

x  in 5 . bitini m ye atmak istiyorum CCS C de  maalesef bulamadım


mehmet

#1
/* Bit Operation macros */
#define sbi(b,n) ((b) |=   (1<<(n)))        /* Set bit number n in byte b   */
#define cbi(b,n) ((b) &= (~(1<<(n))))       /* Clear bit number n in byte b */
#define rbi(b,n) ((b) &    (1<<(n)))        /* Read bit number n in byte b  */
#define fbi(b,n) ((b) ^=   (1<<(n)))        /* Flip bit number n in byte b  */

#define bit_is_set(b,n)   (b & (1<<n))      /* Test if bit number n in byte b is set   */
#define bit_is_clear(b,n) (!(b & (1<<n)))   /* Test if bit number n in byte b is clear */
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

povulon

cevabınız için teşekkürler

küçük bir örnek rica etsem

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

sadogan

Alıntı yapılan: povulon - 21 Şubat 2018, 12:29:37
MErhaba

int1 m;
int x ;

x = 0b11101010 ;

x  in 5 . bitini m ye atmak istiyorum CCS C de  maalesef bulamadım


if(x&0B00100000) m=1;
else m=0;

exmachine

Eğer hep aynı yerdeki bit okunacak ise şöyle basit bir kullanımı da var :

int x;
int m;

#bit x_5 = x.5  

m=x_5;

povulon

Peki

unsigned int16 i;

int1 n;

n=1;

n ' nin içinde 1 değerini  i 'nin 7. bitine aktarmak istiyorum

Teşekkürler

RaMu

Bazı şeyler istemekle olmuyor, çalışmak denemek lazım.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

sadogan

if(n) i |= 0B10000000;
else  i &= 0B01111111;