Computer >> Máy Tính >  >> Lập trình >> lập trình C

Hoán đổi số bằng toán tử bitwise trong C

Vấn đề

Làm cách nào để hoán đổi các số bằng toán tử bitwise trong ngôn ngữ lập trình C?

Giải pháp

Trình biên dịch hoán đổi các số đã cho, trước tiên, nó chuyển đổi số thập phân đã cho thành số tương đương nhị phân, sau đó nó thực hiện thao tác XOR bitwise để trao đổi các số từ vị trí bộ nhớ này sang vị trí bộ nhớ khác.

Thuật toán

 STARTS Bước 1:khai báo hai biến a và b Bước 1:Nhập hai số từ bảng điều khiển Bước 2:hoán đổi hai số bằng cách sử dụng toán tử BITWISE a =a ^ b b =a ^ b a =a ^ b Bước 3:In giá trị a và b BƯỚC  

Chương trình

 #include  int main () {int a, b; printf ("nhập giá trị của a và b:"); scanf ("% d% d", &a, &b); printf ("giá trị của a =% d và b =% d trước khi hoán đổi \ n", a, b); a =a ^ b; b =a ^ b; a =a ^ b; printf ("giá trị của a =% d và b =% d sau khi hoán đổi", a, b); trả về 0;} 

Đầu ra

 nhập các giá trị cho a và b:24 56 giá trị của a =24 và b =56 trước giá trị hoán đổi của a =56 và b =24 sau khi hoán đổi 111000a =a ^ b =100000b =a ^ b =100000 ^ 111000 =011000a =a ^ b =100000 ^ 011000 =111000 Bây giờ a =111000 tương đương thập phân =56b =011000 tương đương thập phân =24