1 bit değişken

Başlatan cseb, 11 Mart 2014, 20:40:22

cseb

Arkadaşlar merhaba,
C de kod yazarken genelde char türünde değişkenler kullanıyoruz. 8 bitlik bir değişken düşünün, örneğin 01010101,  şimdi bu 8 bit içindeki herhangi bir biti mesela 3. bit olsun, onun değerini 1 veya 0 yaparken diğerlerinin değerini bozmadan nasıl yapabiliriz?

mir_as82

#1
0. Biti 1 yapmak için: 0x01 ile lojik Or yaparsin
Yani o register a olsun.
a|=0x01;


Eğer 0. Biti '0' yapacaksanız And işlemi yapacaksin
Yani
A&=0xfe;// yani 0x11111110 ile And yap

secretagent

Lojik islemlerle yapabilirsin ve, or, xor hangisi uyarsa yapmak istedigine

http://www.elektronikekibi.com/kubilay/lojikkapilar.html

burada dogruluk tablolari var.

mufitsozen

#3
#include <stdio.h>


main()
{
    unsigned char degisken=0x55;
   
    printf("\n degisken=%2.2x", degisken);
   
    degisken |= 1<<3; /* bit 3 set */
   
    printf("\n degisken=%2.2x", degisken);

    degisken &= ~(1<<2); /* bit 2 reset */
   
    printf("\n degisken=%2.2x", degisken);
}
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Okan AKÇA

ccs  icin

int x;

x=5;

bit_set(x,3);

// x is now 13