Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C에서 비트 연산자를 사용하여 숫자 바꾸기

<시간/>

문제

C 프로그래밍 언어에서 비트 연산자를 사용하여 숫자를 바꾸는 방법은 무엇입니까?

해결책

컴파일러는 주어진 숫자를 교환하고 먼저 주어진 10진수를 2진수로 변환한 다음 비트 XOR 연산을 수행하여 한 메모리 위치에서 다른 메모리 위치로 숫자를 교환합니다.

알고리즘

START1단계:두 개의 변수 a 및 b 선언1단계:콘솔에서 두 개의 숫자 입력2단계:BITWISE 연산자를 사용하여 두 숫자 교환 a=a^b b=a^b a=a^b3단계:a 및 b 값 인쇄STOP 

프로그램

#includeint main(){ int a,b; printf("와 b의 값을 입력하세요:"); scanf("%d%d",&a,&b); printf("스왑 전 a=%d 및 b=%d의 값\n",a,b); a =a^b; b=a^b; a =a^b; printf("스왑 후 a=%d 및 b=%d의 값",a,b); 반환 0;}

출력

a 및 b:24에 대한 값을 입력하십시오. 56a=24 및 b=56의 값을 교환하기 전에 a=56 및 b=24를 교환합니다. swapExplanation:a=24에 해당하는 24 =011000b=56에 해당하는 이진에 해당하는 56=111000a=a^b =100000b=a^b=100000 ^ 111000 =011000a=a^b=100000 ^ 011000 =111000현재 a=111000 10진수 등가 =56b=10진수 등가 =56b