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ƯỚCChương trình
#includeint 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