Trong lập trình, hoán đổi ngôn ngữ có nghĩa là hoán đổi giá trị của hai biến. Biến có thể chứa một số, chuỗi, danh sách hoặc mảng, đối tượng, v.v. Cách hoán đổi chung là sử dụng một biến tạm thời để giữ các giá trị. Ví dụ, Show
Các bước chung để hoán đổi hai số là
Đó là cách hoán đổi được thực hiện với sự trợ giúp của một biến tạm thời. Phương pháp này cũng sẽ hoạt động cho cả số nguyên và số float Trong hướng dẫn này, bạn sẽ học Hoán đổi bằng phương trình số họcNhư chúng ta đã biết, hoán đổi có nghĩa là trao đổi nội dung của hai đối tượng hoặc trường hoặc biến. Hoán đổi sử dụng phép toán số học nghĩa là thực hiện phép hoán đổi sử dụng phương trình toán học, i. e. , cộng và trừ Nếu chúng tôi được cung cấp hai số và được yêu cầu hoán đổi mà không sử dụng biến tạm thời, thì sử dụng ba phương trình số học, chúng tôi có thể hoán đổi các số Mã giả để đổi số bằng phép toán số học A = A + B B = A - B A = A - B Giả sử chúng ta có hai số, A = 20 và B = 30 Điều kiện 1. A = A+B Vì vậy, giá trị hiện tại của A là 20+30 = 50 Điều kiện 2. B = A-B Bây giờ, B = 50-30 = 20 Điều kiện 3. A = A-B Cuối cùng, A = 50-20 = 30 Vì vậy, chúng tôi chỉ trao đổi các số Đây là chương trình hoán đổi hai số trong C/C++ #include<stdio.h> int main() { int a, b; printf("Enter value of A: "); scanf("%d", & a); printf("Enter value of B: "); scanf("%d", & b); printf("A = %d, B = %d", a, b); a = a + b; b = a - b; a = a - b; printf("\nNow, A = %d, B = %d", a, b); } đầu ra Enter value of A: 20 Enter value of B: 30 A = 20 , B = 30 Now, A = 30 , B = 20 Chương trình trong Python a = int(input("Enter value of A: ")) b = int(input("Enter value of B: ")) print("A = {} and B = {}".format(a, b)) a = a + b b = a - b a = a - b print("Now, A = {} and B = {}".format(a, b)) đầu ra Enter value of A: 20 Enter value of B: 30 A = 20 , B = 30 Now, A = 30 , B = 20 Bây giờ trong Python, chúng ta thậm chí không cần thực hiện các phép toán số học. chúng ta có thể sử dụng a,b = b,a Đây là minh họa trong đó a=20, b=30; Hoán đổi sử dụng Toán tử Bitwise XORPhương pháp này còn được gọi là hoán đổi XOR. XOR có nghĩa là độc quyền HOẶC. Chúng tôi lấy hai bit làm đầu vào cho XOR trong thao tác theo bit này. Để có một đầu ra từ XOR, chỉ một đầu vào phải là 1. Nếu không, đầu ra sẽ là 0. Bảng sau đây hiển thị đầu ra cho tất cả các kết hợp đầu vào A B Chúng ta cần biết thao tác XOR hoạt động như thế nào để hoán đổi hai số bằng thao tác bitwise. Đây là bảng cho XOR trong đó A và B là giá trị đầu vào ABA XOR B000011101110Nếu hai đầu vào có cùng giá trị, thì phép toán XOR cho kết quả 0; . Đối với ví dụ này, chúng tôi sẽ sử dụng thao tác 3 XOR. Trong hầu hết các ngôn ngữ lập trình, XOR được ký hiệu là “^” Giả sử A=4 (ở dạng nhị phân = 0100) và B=7 (ở dạng nhị phân, 0111) Điều kiện 1. Một = Một ^ B A0100B0111A^B0011Bây giờ, A = 0011 (ở dạng nhị phân) Điều kiện 2. B = A^B A0011B0111A^B0100Vậy B = 0100, là giá trị nhị phân ban đầu của A Điều kiện 3. A = A^B A0011B0100A^B0111Cuối cùng, A = 0111, là giá trị nhị phân tương đương của B Chương trình trong C/C++ #include<stdio.h> int main() { int a, b; printf("Enter value of A: "); scanf("%d", & a); printf("Enter value of B: "); scanf("%d", & b); printf("A = %d, B = %d", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("\nNow, A = %d, B = %d", a, b); } đầu ra Enter value of A:4 Enter value of B:7 A=4, B=7 Now, A=7, B=4. Chương trình trong Python a = int(input("Enter value of A: ")) b = int(input("Enter value of B: ")) print("A = {} and B = {}".format(a, b)) a = a ^ b b = a ^ b a = a ^ b print("Now, A = {} and B = {}".format(a, b)) đầu ra ________số 8_______Hoán đổi số bằng Bitwise-ArithmeticPhương thức này giống như phương thức số học, nhưng chúng ta sẽ sử dụng các phép toán Bitwise như AND, OR và Compliment để thực hiện phép cộng và phép trừ. Trước khi đến các bước, hãy cùng xem qua “Lời khen” cho nhanh Phần bù của 1 có nghĩa là thay đổi tất cả 0 thành 1 và 1 thành 0. Hãy lấy một ví dụ
Phần bù 1 này được thể hiện bằng ký hiệu “~” trong hầu hết các ngôn ngữ lập trình. Đặt ký hiệu này trước bất kỳ giá trị số nguyên hoặc giá trị dấu phẩy động nào sẽ cho phần bù 1 Và phần bù 2 có nghĩa là thêm nhị phân "1" vào phần bù 1. Nếu chúng ta thực hiện phần bù 2 cho số trên
11101000 + 1 11101001 Vì vậy, phần bù của 2 là 11101001. Đây là nhị phân cho -23 phần bù 2 của A = (~A) + 1 Bây giờ, giả sử A=8 (nhị phân 00001000), B=10(00001010) Điều kiện 1. A = (A & B) + (A. b) Nó tương đương với A = A + B A & B = 00001000 & 00001010 = 00001000 Một. B = 00001000. 00001010 = 00001010 Bây giờ, 00001000 + 00001010 = 00010010 (18 thập phân) Vì vậy, A = 18 Điều kiện 2 B = A + (~B) + 1 Nó tương đương với B = A-B Ở đây, B = A – B Từ thảo luận trên, nếu cần thực hiện phép trừ, chúng ta thực hiện phép cộng 2 cho số âm rồi cộng Làm cách nào để hoán đổi hai số trong python bằng cách sử dụng biến thứ ba?Chương trình Python hoán đổi hai số bằng biến thứ ba . Đầu vào đầu ra Đầu vào đầu ra Bước 1. Xác định một biến mới "temp" để lưu trữ các giá trị tạm thời Bước 2. Lưu trữ giá trị của num1 trong temp Bước 3. Gán giá trị của số thứ hai (num2) cho num1 Làm cách nào để hoán đổi 2 số nguyên a và b mà không sử dụng biến thứ 3?Hãy xem một ví dụ c đơn giản để hoán đổi hai số mà không cần sử dụng biến thứ ba. . #include int chính () int a=10, b=20; printf("Trước khi hoán đổi a=%d b=%d",a,b); a=a+b;//a=30 (10+20) b=a-b;//b=10 (30-20) a=a-b;//a=20 (30-10) Làm cách nào chúng ta có thể hoán đổi hai số e 10 f 20 trong python mà không sử dụng biến thứ ba?Chương trình Python hoán đổi hai số mà không cần sử dụng biến thứ ba . Lấy các giá trị của cả hai yếu tố từ người dùng Lưu trữ các giá trị trong các biến riêng biệt Thêm cả hai biến và lưu trữ nó trong biến đầu tiên Trừ biến thứ hai từ biến thứ nhất và lưu nó vào biến thứ hai Làm cách nào để hoán đổi hai chuỗi trong python mà không cần sử dụng biến thứ ba?Để hoán đổi nội dung của hai chuỗi (giả sử s1 và s2) mà không có chuỗi thứ ba, trước hết hãy nối chúng lại và lưu vào s1. Bây giờ, sử dụng phương thức substring() của lớp String để lưu trữ giá trị của s1 trong s2 và ngược lại . |