ورود

View Full Version : حرفه ای: چگونه میتوان در زبان C با بیت ها کار کرد یا با بیت به بیت یک متغیر کار کرد



mahdi-1
شنبه 16 آذر 1392, 18:57 عصر
سلام به همگی
آیا متغیری در زبان C (یا بقیه زبان ها) وجود داره که بتونیم به بیت های اطلاعاتیش دسترسی داشت و کار کرد
یعنی مثلا بشه یه آرایه رو از صفر و یک ها ذخیره کرد که 1 به معنی پر بودن و صفر به معنی خالی بودن اون خونه هست.
منظورم مثلا نوع داده ای مثل نوع فرضیbit هست مثلا.

bit a=11100010;

مثلا نوع byte

byte a=01021212

با کدومشون میشه یه همچین کاری کرد

Ananas
شنبه 16 آذر 1392, 23:24 عصر
سلام.
با عملیات بیتی روی اعداد صحیح میتونید این کارو بکنید:
#pragma hdrstop
#pragma argsused

#include <stdio.h>
#include <tchar.h>

int _tmain(int argc, _TCHAR* argv[])
{
unsigned __int32 i32 = 0x0015fabcL;
int i;
for (i = 31; i > -1; i--)
{
if ((i32 & (1 << i)) == 0)
printf("0");
else
printf("1");
}
getchar();
return 0;
}

http://msdn.microsoft.com/en-us/library/4ke0e88k.aspx

ali chegini
شنبه 16 آذر 1392, 23:43 عصر
سلام . به روش زیر عمل کن :

#include <bitset>

bitset<4> bit;
bit.set(0,1);
cout<<bit<<"\r\n";

خروجی :
0001

اطلاع بیشتر:
http://www.cplusplus.com/reference/bitset/bitset