সমস্যা
সি ভাষা ব্যবহার করে একটি সংখ্যার বাম, ডান স্থানান্তর এবং পরিপূরক দেখানোর সহজ প্রোগ্রাম কী?
সমাধান
বাম স্থানান্তর
যদি একটি ভেরিয়েবলের মান একবার বামে স্থানান্তরিত হয়, তাহলে এর মান দ্বিগুণ হয়ে যায়।
উদাহরণস্বরূপ, a =10, তারপর a<<1 =20
ডান স্থানান্তর
যদি একটি ভেরিয়েবলের মান একবার ডানদিকে স্থানান্তরিত হয়, তাহলে এর মান মূল মানের অর্ধেক হয়ে যায়।
উদাহরণস্বরূপ, a =10, তারপর a>>1 =5
উদাহরণ
শিফট অপারেশনের জন্য সি প্রোগ্রামটি নিচে দেওয়া হল -
#include<stdio.h> main (){ int a=9; printf("Rightshift of a = %d\n",a>>1);//4// printf("Leftshift of a = %d\n",a<<1);//18// printf("Compliment of a = %d\n",~a);//-[9+1]// printf("Rightshift by 2 of a = %d\n",a>>2);//2// printf("Leftshift by 2 of a = %d\n",a<<2);//36// }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Rightshift of a = 4 Leftshift of a = 18 Compliment of a = -10 Rightshift by 2 of a = 2 Leftshift by 2 of a = 36