24 NİSAN 2015, Cuma
1 içinde mantıksal 8 doğru/yanlış değerleri saklamak byte?
SRAM sadece 2 KB ile bir mikroişlemci üzerinde çalışıyorum ve umutsuz bir bellek korumak gerekir. Tek bir byte içine 8 0
/1
değerleri koyabilirim nasıl çalıştığını bir bit ama tam çıkartamadım kullanarak.
struct Bits
{
int8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;
};
int main(){
Bits b;
b.b0 = 0;
b.b1 = 1;
cout << (int)b.b0; // outputs 0, correct
cout << (int)b.b1; // outputs -1, should be outputting 1
}
Ne veriyor?
CEVAP
24 NİSAN 2015, Cuma
Bit üyelerinin hepsi 1 bitlik imzalı tamsayı. İki sistemi tamamlayıcı, sadece 0
-1
da temsil edebilirler. 0
1
isterseniz uint8_t
kullanın:
struct Bits
{
uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;
};
Bunu Paylaş:
Nasıl NSMutableArray içinde CGRect değ...
Yumurtlama blok düzeyi öğeler içinde &...
Hangi MySQL boolean değerleri saklamak...
ViewPager ve parçaları — 'parçası...
İçinde bir div koyarak bir çapa bugüne...