cách tráo đổi giá trị hai biến
Trang 1 trong tổng số 1 trang
cách tráo đổi giá trị hai biến
tráo đổi hai giá trị hai số là công việc hầu như phải có trong sắp xếp. hôm nay mình xin trình bày một vài cách trao đổi giá trị 2 biến
cho trước : var a,b:integer;
1 : dùng biến tạm, cách này thì cơ bản, dễ hiểu.
2 : dùng phép toán - và +
3 : dùng phép xor
bảng chân trị của phép xor : nếu hai bit giống nhau thì trả về 0, ngược lại trả về 1.
VD về việc hoán đổi bằng XOR , a=1 và b=2
sau khi thực hiện : a:=a xor b; , lúc này a=3 và b=2
sau khi thực hiện b:=b xor a; , lúc này a=3 và b=1
sau khi thực hiện a:=a xor b; , lúc này a=2 và b=1;
như vậy, sau 3 bước xor, a và ba đã đổi giá trị cho nhau.
cho trước : var a,b:integer;
1 : dùng biến tạm, cách này thì cơ bản, dễ hiểu.
- Code:
var temp:integer;
temp:=a;
a:=b;
b:=temp;
2 : dùng phép toán - và +
- Code:
a:=a-b;
b:=b+a;
a:=b-a;
3 : dùng phép xor
- Code:
a:=a xor b;
b:=b xor a;
a:=a xor b;
bảng chân trị của phép xor : nếu hai bit giống nhau thì trả về 0, ngược lại trả về 1.
A | B | A XOR B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
A=1 | 0 | 0 | 0 | 1 |
B=2 | 0 | 0 | 1 | 0 |
A=3 | 0 | 0 | 1 | 1 |
B=2 | 0 | 0 | 1 | 0 |
A=3 | 0 | 0 | 1 | 1 |
B=1 | 0 | 0 | 0 | 1 |
A=2 | 0 | 0 | 1 | 0 |
B=1 | 0 | 0 | 0 | 1 |
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|
15/4/2011, 10:34 pm by funny
» Mọi người làm giúp tôi bài này với !
13/4/2011, 11:42 am by phonggia
» Giúp mình giải bài này với
12/4/2011, 1:00 pm by ldt
» Chia se 1 bai paccal ve ve do thi
11/4/2011, 1:55 pm by duy_sau_rom
» đồ hoạ trong pascal
9/4/2011, 9:16 pm by jetlongk4
» Giá trị biểu thức bằng kí pháp nghịch đảo
1/4/2011, 8:49 am by kh1132000
» AI GIẢI GIÚP EM BÀI NÀY VỚi , ĐANG CẦN GẤP GẤP LẮM :(
31/3/2011, 11:47 pm by jancancook
» dòng thời gian
31/3/2011, 11:31 am by gianggiangonline
» anh nào giúp em với
30/3/2011, 11:00 pm by sieuhoatinh
» VTC trả lương 10 triệu cho SV tốt nghiệp ĐH Văn Hiến - khoa CNTT - ĐTVT tại Hà Nội
29/3/2011, 2:48 pm by SV_tuonglai
» Download cẩm nang mùa thi 2011 tại đây
29/3/2011, 2:47 pm by SV_tuonglai
» Check giúp mình lỗi trong code này với !
27/3/2011, 10:07 pm by mamap0511
» Tai nghe sony dr 370 ve hang moi
25/3/2011, 8:42 pm by hs_bin
» giúp em với
25/3/2011, 12:11 pm by nbni
» Headphone sony dr 370 moi ve hang
24/3/2011, 9:13 pm by hs_bin
» GIUP EM MAY BAI PASCAL CO BAN ( EM MOI HOC PASCAL)
24/3/2011, 9:11 pm by tuan045610
» Headphone sony DR 370 moi ve hang
21/3/2011, 8:11 pm by hs_bin
» Sony DR 310 moi ve hang
20/3/2011, 9:34 pm by hs_bin
» Mọi người giúp dùm em!!^^
20/3/2011, 9:53 am by trangbui_thcstanhiep
» bài tập về hàm trog pascal
18/3/2011, 10:34 pm by sieuhoatinh