1-4 ماشین حساب با استفاده از switch-case
می خواهیم شبیه تمرین سری اول، یک ماشین حساب بسازیم به این ترتیب که کاربر یک عملگر ( + - * / %) و دو عدد اعشاری وارد می کند و شما باید با switch-case نتیجه عملیات را نشان دهید. اگر عملگر اشتباه وارد شد، پیام مناسب داده و دوباره داده ها را دریافت کنید. برای شروع، می توانید از تکه کد زیر استفاده کنید:
char operator;
printf("Enter an operator (+, -, *, /, %): ");
scanf("%c", &operator);
-------------------------------------------------------------------------------
2-4 کار با عملگرهای بیتی
برنامه ای بنویسید که یک عدد صحیح 16 بیتی (short) دریافت کرده و عملیات زیر را روی آن انجام دهد:
الف) آن را با اعداد (0x00FF و 0xFF00) AND کند. (عملگر AND بیتی & است)
ب) آن را با اعداد (0x00FF و 0xFF00) OR کند. (عملگر OR بیتی | است)
ج) آن را به اندازه هشت بیت به سمت راست شیفت دهد. (عملگر شیفت به راست << است. البته این عملگر را از اینجا کپی نکنید چون برعکس تایپ شده تا در وبلاگ درست دیده شود!) مثلا برای شیفت عدد y به اندازه 8 بیت به یکی از دو صورت زیر عمل می کنیم:
y = y >> 8;
y >>= 8;
د) آن را به اندازه هشت بیت به سمت چپ شیفت دهد. (عملگر شیفت به چپ >> است.)
ه) در انتها نیبل پایین و نیبل بالای عدد ورودی را به کمک چهار بخش قبلی حساب کرده و نمایش دهید. منظور از نیبل پایین و بالا یعنی 8 بیت کم ارزش و باارزش؛ مثلا برای عدد 0x64E5 نیبل پایین برابر است با E5 و نیبل بالا برابر است با 64
تمام نتایج را ترجیحا در قالب جدول نشان دهید.