PDA

View Full Version : سوال: عملگرهای بیتی



aminaltavista
پنج شنبه 18 فروردین 1390, 16:15 عصر
دو سوال خدمت کاربران عزیز داشتم هرچند برای شما آسان اما برای من حیاطی!
1- در این دستور فرض بر این شده است کهy=20 حال نقیض ان را خواسته است
int y
y=~y
گفته شده که نقیض بیتها رو باید به دست آورد چگونه باید بیت ها رو به دست بیاورم مثل(0010011)
2-در این یکی .xor را خواسته است y=5^15
این را میدانم باید یای انحصاری را به دست بیاورم اما نمیدانم از چه روشی !:گیج:

quiet_programmer
پنج شنبه 18 فروردین 1390, 20:47 عصر
با سلام.

میتونی از کد زیر برای تبدیل مبنای 10 به باینری استفاده کنی.

#include <sstream.h>
#include <string.h>
#include <iostream.h>

string itos(int i)
{
stringstream s;
s << i;
return s.str();
}

string DecToBin(int n)
{
string Bin="";
for (int i=31; i>=0; i--)
{
int bit = ((n >> i) & 1);
Bin+=itos(bit);
}
return Bin;
}

void main()
{
int DecNumber=20;
cout<<DecToBin(DecNumber)<<endl;
DecNumber=~DecNumber;
cout<<DecToBin(DecNumber)<<endl;
}