समस्या
सी प्रोग्रामिंग भाषा में बिटवाइज़ ऑपरेटर का उपयोग करके नंबरों को कैसे स्वैप करें?
समाधान
कंपाइलर दिए गए नंबरों को स्वैप करता है, सबसे पहले, यह दिए गए दशमलव संख्या को बाइनरी समकक्ष में परिवर्तित करता है, फिर यह एक मेमोरी लोकेशन से दूसरे मेमोरी लोकेशन में नंबरों का आदान-प्रदान करने के लिए थोड़ा सा XOR ऑपरेशन करता है।
एल्गोरिदम
START Step 1: declare two variables a and b Step 1: Enter two numbers from console Step 2: swap two numbers by using BITWISE operator a=a^b b=a^b a=a^b Step 3: Print a and b values STOP
कार्यक्रम
#include<stdio.h> int main(){ int a,b; printf("enter the values for a and b:"); scanf("%d%d",&a,&b); printf("value of a=%d and b=%d before swap\n",a,b); a= a^b; b= a^b; a= a^b; printf("value of a=%d and b=%d after swap",a,b); return 0; }
आउटपुट
enter the values for a and b:24 56 value of a=24 and b=56 before swap value of a=56 and b=24 after swap Explanation: a=24 binary equivalent of 24 =011000 b=56 binary equivalent of 56= 111000 a= a^b = 100000 b=a^b=100000 ^ 111000 =011000 a=a^b=100000 ^ 011000 = 111000 Now a=111000 decimal equivalent =56 b= 011000 decimal equivalent = 24