Bài thực hành số 1 buổi 1 BÀI THỰC HÀNH SỐ 1 2 Mục tiêu sinh viên cần đạt được Thấy rõ các phương pháp mã hóa dữ liệu của các dữ liệu phổ biến như số nguyên, số thực, chuỗi 1 Chạy VC++ (hoặc bằng ic[.]
Trang 1BÀI THỰC HÀNH SỐ 1.2
Mục tiêu sinh viên cần đạt được :
Thấy rõ các phương pháp mã hóa dữ liệu của các dữ liệu phổ biến như số nguyên, số thực, chuỗi
1 Chạy VC++ (hoặc bằng icon shortcut trên desktop hoặc bằng menu Start.Programs ), cửa sổ đầu tiên có dạng :
2 Tạo Project quản lý ứng dụng bằng cách chọn menu File.New , cửa sổ New có dạng sau Chọn loại project "Win32 Console Application", chọn vị trí thư mục chức project, nhập tên Project la VCEncodeDataView rồi ấn button OK :
Trang 23 Trong cửa sổ Wizard - Step 1, chọn checkbox "An empty project", rồi ấn button Finish :
4 Cửa sổ VC++ lúc này có dạng sau :
Trang 35 Chọn menu File.New để hiển thị cửa sổ New như hình dưới đây Chọn mục "C++ Source File", nhập tên file là "main" vào textbox "File name" rồi ấn buton Ok để tạo file như vừa đặc tả
Trang 4#include <string.h>
#include <windows.h>
//khai bao cac bien can khao sat
char pvar_byte = 15;
char mvar_byte = -15;
short pvar_short = 15;
short mvar_short = -15;
int pvar_int = 15;
int mvar_int = -15;
long pvar_long = 15;
long mvar_long = -15;
float pvar_single = 1.5;
float mvar_single = -1.5;
double pvar_double = 1.5;
double mvar_double = -1.5;
char asc_string[256];
wchar_t ucs2_string[256];
void main() {
strcpy(asc_string,"Nguyen Van Hiep");
MultiByteToWideChar(CP_UTF8,0,"Nguyen Van Hiep",-1, ucs2_string, 256);
//dung sau lenh nay de khao sat viec ma hoa du lieu
pvar_byte = pvar_byte;
}
7 Dời chuột về vị trí lệnh gán biến pvar_byte, ấn chuột vào hàng lệnh này Chọn menu Build.Start Debug.Run to Cursor để dịch và chạy ứng dụng vừa viết Khi ứng dụng chạy đến lệnh gán biến pvar_byte, nó sẽ dừng lại và cửa sổ màn hình lúc này có dạng :
Trang 58 Dời chuột về thuộc tính Name của cửa sổ Watch (ở dưới phải màn hình), chọn nó và nhập biểu thức
"&pvar_byte" để xem địa chỉ của biến này trong bộ nhớ chương trình Cửa sổ màn hình có dạng sau :
Trang 69 Với thông tin nhìn thấy được, ta kết luận là biến pvar_byte chiếm 1 byte ở địa chỉ 0x421a30 Chọn menu View.Debug Windows.Memory để hiển thị cửa sổ xem chi tiết bộ nhớ chương trình Cửa sổ này
có dạng sau :
10 Nhập vào textbox "Address" địa chỉ của biến pvar_byte (0x421a30) và xem nội dung nhị phân của ô nhớ này Cửa sổ Memory lúc này có dạng :
Ta thấy giá trị 0x0f ở địa chỉ 0x421a30 Điều này có nghĩa là giá trị nguyên dương 15 được chứa trong
bộ nhớ như là 8 bit nhị phân 00001111
Trang 711 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -15 trong biến nguyên 1 byte mvar_byte
12 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị 15 trong biến nguyên 2 byte pvar_short
13 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -15 trong biến nguyên 2 byte mvar_short
14 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị 15 trong biến nguyên 4 byte pvar_int
15 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -15 trong biến nguyên 4 byte mvar_int
16 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị 15 trong biến nguyên 4 byte pvar_long
17 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -15 trong biến nguyên 4 byte mvar_long
18 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị 1.5 trong biến thực chính xác đơn 4 byte pvar_single
19 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -1.5 trong biến thực chính xác đơn 4 byte mvar_single
20 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị 1.5 trong biến thực chính xác kép 8 byte pvar_double
21 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa của giá trị -1.5 trong biến thực chính xác kép 8 byte mvar_double
22 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa theo mã ANSI của chuỗi "Nguyen Van Hiep" trong biến chuỗi asc_string
23 Lập lại các bước 8 , 9, 10 để xem nội dung mã hóa theo mã Unicode 2 byte của chuỗi "Nguyen Van Hiep" trong biến chuỗi ucs2_string