loading...
ابزارها قالب
تبلیغات
تبلیغات ارزان و پربازدهتبلیغات ارزان و پربازده
آخرین ارسال های انجمن
حمیدرضا بازدید : 1431 شنبه 29 خرداد 1395 نظرات (0)

ما در برنامه نویسی ، عملگر های ساده ای مثل جمع ، منها ، ضرب و تقسیم و ... داریم. به جز این عملگر های ساده که عملگر های پایه ی ریاضی هستند ، عمگلر های دیگری هم وجود دارند که کار آن ها با توجه به اعداد دو دویی (binary) است.

کاربرد عملگر های بیتی

کاربرد اصلی عملگر ها همین انجام اعمال بیتی روی اعداد است. یک برنامه نویس می تواند با استفاده از این عملگر های روی بیت های کاراکتر های برنامه ی خود تغییراتی ایجاد کند و به این شکل آن را از دید دیگران مخفی کند (مبهم یا رمزگذاری کند) (برای مطالعه درباره ی obfuscation و encryption اینجا کلیک کنید)

عملگر های بیتی (bitwise operators)

در بیشتر زبان های برنامه نویسی ، این عملگر ها که در پایین لیست شده اند ، وجود دارند. (a و b عدد هستند)

مثال

نام

نتیجه

a & b

And

بیت هایی که هم در a و هم در b برابر 1 هستند.

a | b

Or (یا شامل و)

بیت هایی که یا در a یا در b و یا در هر دو برابر 1 هستند.

a ^ b

Xor (فقط یا)

بیت هایی که یا در a یا در b برابر 1 هستند.

~ a

Not

بیت هایی که 1 هستند 0 می شوند و 0 ها 1 می شوند.

a << b

Shift left

بیت های a به اندازه ی b تا به سمت چپ می روند. (یعنی توان دو)

a >> b

Shift right

بیت های a به اندازه ی b تا به سمت راست می روند. (یعنی جذر)

در کامپیوتر تمام اطلاعات به صورت 0 و 1 بررسی می شوند. گاهی اوقات در برنامه نویسی لازم است که بر اساس این 0 و 1 ها (اعداد دو دویی) کار هایی انجام شود. عملگر های بالا می توانند این امکان را به برنامه نویس بدهند که تغییرات بالا روی اعداد پیاده سازی کنند. برای فهم بهتر مثال های زیر را ببینید:

و ( AND )

مثال 1:

<<<code>>>

101 = 5

011 = 3

001 = 1

<<</code>>>

 مثال 2:

<<<code>>>

1101001 = 105

1100100 = 100

1100000 = 96

<<</code>>>

یا شامل و ( OR )

مثال 1:

<<<code>>>

110 = 6

101 = 5

111 = 7

<<</code>>>

مثال 2:

<<<code>>>

1100100 = 100

0110010 = 50

1110110 = 118

<<</code>>>

یا مانع و ( XOR )

مثال 1:

<<<code>>>

00101 = 5

10111 = 23

10010 = 18

<<</code>>>

مثال 2:

<<<code>>>

1110000001 = 897

0000110100 = 52

1110110101 = 949

<<</code>>>

NOT

مثال:

<<<code>>>

a   = 00000000000000000000000000000101 = 5

~ a = 11111111111111111111111111111010 = -6

<<</code>>>

shift left

مثال:

<<<code>>>

a      = 000101 = 5

a << 3 = 101000 = 40

<<</code>>>

shift right

مثال:

<<<code>>>

a      = 000101 = 5

a >> 2 = 000001 = 1

<<</code>>>

مطالب مرتبط
ارسال نظر برای این مطلب

نام
ایمیل (منتشر نمی‌شود)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B :S
کد امنیتی
رفرش
کد امنیتی
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
ابزارهای خاص
جعبه ی پیوند لینک کوتاه کن رایگان ارزیابی آنلاین سایت و وبلاگ به صورت رایگان
تبلیغات
تبلیغات ارزان و پربازدهتبلیغات ارزان و پربازده
تبلیغات متنی
درباره ما
لوگوی ابزارها قالب
سایت ابزارها قالب برای خاص بودن آفریده شده است. به امید این که خاص ترین باشیم.
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • تبلیغات
    تبلیغات ارزان و پربازدهتبلیغات ارزان و پربازده

    آمار سایت
  • کل مطالب : 215
  • کل نظرات : 269
  • افراد آنلاین : 4
  • تعداد اعضا : 3237
  • آی پی امروز : 41
  • آی پی دیروز : 60
  • بازدید امروز : 167
  • باردید دیروز : 331
  • گوگل امروز : 3
  • گوگل دیروز : 3
  • بازدید هفته : 1,250
  • بازدید ماه : 3,210
  • بازدید سال : 42,363
  • بازدید کلی : 1,860,069
  • کدهای اختصاصی
    یادبود 175 شهید غواص
    یادبود 175 شهید غواص