Yukino Ichikawa
VIP
3.8 Các điểm chính để sử dụng Win API
(tiếp theo)
Point5: Tính toán bit
Trong giá trị trả về của hàm API có trường hợp nó mang ý nghĩa là bit đặc biệt mà không phải là byte. Điều này cần có kỹ thuật để tính toán bit và chúng ta sẽ bàn cụ thể hơn khi xem xét ví dụ về hàm GetVersionEx ở các chương sau.
Point6: Dịch chuyển bit
Đơn vị để lưu trữ dữ liệu trên máy tính được biết tới là bit. Và do đó đi kèm với nó chúng ta sẽ có thủ pháp dịch chuyển bit. Ví dụ số 8 trong hệ cơ số 10 khi biểu diễn dưới dạng nhị phân sẽ có dạng như sau: 00001000.
Bây giờ chúng ta thử dich chuyển một bit sang bên phải. Khi đó bit ngoài cùng bên trái sẽ được lấp đầy bởi 0.
Kết quả là chúng ta sẽ được: 00000100 tức là 4 trong hệ cơ số 10.
Nếu như 8 trong hệ cơ số 10 mà dịch chuyển 1 bit sang trái thì ta sẽ có số: 00010000 tức là 16 trong hệ cơ số 10.
Tóm lại, nếu dịch chuyển sang phải n bit ta sẽ có: số = số / 2^n.
Ngược lại, nếu dịch chuyển sang trái n bit ta sẽ có: số = số * 2^n.
Trong ngôn ngữ C ta có toán tử dịch chuyển bit là << và >> . Thế nhưng chúng ta lại không có phép dịch chuyển bit trong VBA. Tuy nhiên khi nắm được cách nghĩ, chúng ta có thể thực hiện tính toán bit như ở trên tôi đã nêu. Thế nhưng khi nào thì cần tính toán dịch chuyển bit, tôi nghĩ đó là điều khó. Ở các chương sau, chúng ta sẽ gặp một ví dụ về tính toán bit khi nói tới hàm GetDiskFreeSpaceEx.
(tiếp theo)
Point5: Tính toán bit
Trong giá trị trả về của hàm API có trường hợp nó mang ý nghĩa là bit đặc biệt mà không phải là byte. Điều này cần có kỹ thuật để tính toán bit và chúng ta sẽ bàn cụ thể hơn khi xem xét ví dụ về hàm GetVersionEx ở các chương sau.
Point6: Dịch chuyển bit
Đơn vị để lưu trữ dữ liệu trên máy tính được biết tới là bit. Và do đó đi kèm với nó chúng ta sẽ có thủ pháp dịch chuyển bit. Ví dụ số 8 trong hệ cơ số 10 khi biểu diễn dưới dạng nhị phân sẽ có dạng như sau: 00001000.
Bạn cần đăng nhập để thấy hình ảnh
Bây giờ chúng ta thử dich chuyển một bit sang bên phải. Khi đó bit ngoài cùng bên trái sẽ được lấp đầy bởi 0.
Kết quả là chúng ta sẽ được: 00000100 tức là 4 trong hệ cơ số 10.
Bạn cần đăng nhập để thấy hình ảnh
Nếu như 8 trong hệ cơ số 10 mà dịch chuyển 1 bit sang trái thì ta sẽ có số: 00010000 tức là 16 trong hệ cơ số 10.
Bạn cần đăng nhập để thấy hình ảnh
Tóm lại, nếu dịch chuyển sang phải n bit ta sẽ có: số = số / 2^n.
Ngược lại, nếu dịch chuyển sang trái n bit ta sẽ có: số = số * 2^n.
Trong ngôn ngữ C ta có toán tử dịch chuyển bit là << và >> . Thế nhưng chúng ta lại không có phép dịch chuyển bit trong VBA. Tuy nhiên khi nắm được cách nghĩ, chúng ta có thể thực hiện tính toán bit như ở trên tôi đã nêu. Thế nhưng khi nào thì cần tính toán dịch chuyển bit, tôi nghĩ đó là điều khó. Ở các chương sau, chúng ta sẽ gặp một ví dụ về tính toán bit khi nói tới hàm GetDiskFreeSpaceEx.