Professional Documents
Culture Documents
Bảng mã ASCII: dùng 1 byte - lưu trữ 1 kí tự - 256 kí tự | nằm ngoài kí tự ASCII thì dùng
unicode: dùng 2 byte - lưu trữ 1 ký tự
+ Dấu lượng: Bit trái nhất - biểu diễn dấu - 0: dương / 1: âm (dạng bù 1) : (-0) 1000 0000 [-
127,+127] | [-(2^(n-1)-1, 2^(n-1)-1]
+ Sử dụng phương pháp bù 1: đảo bit trừ bit dấu lượng là ko đổi (-0) 1111 111 [-127,+127] |
[-(2^(n-1)-1, 2^(n-1)-1]
+ Sử dụng phương pháp bù 2: biểu diễn như bù 1 và cộng thêm 1 (-0) 1111 1111 + 1 =
0000 0000 (nhớ 1) để đổi về dạng dấu lượng ta đảo bit -> + thêm 1 [-128,+127] | [-(2^(n-1),
2^(n-1)-1]
+ Số quá K: biễu diễn biass - là số nguyên N + k(128) = số mới - rồi chuyển sang nhị phân -
Các phép dịch bit và phép xoay
+ Shift left SHL: Chuyển tất cả các bit sang trái, bỏ bit trái nhất, thêm 0 ở phải nhất | dùng
cho x<<k = x*2^k cho phép tăng mũ hoặc nhân.
+ Rotate left (ROL): Chuyển tất cả các bit sang trái, bit trái nhất thành bit phải nhất
AND (Phép nhân): 0*0=0 | 0*1=0 | 1*0=0 | 1*1=1 | [&] không phải phép nhân toán học |
đùng để kiểm tra bit n dịch qua n bit và dùng n & 1
Phương pháp bật 1 ở vị trí nào đóng ta dùng SHR hoặc SHL của 1 rồi OR hoặc XOR với số
cần bật. Linh động để bặt tắt 1
Phép toán:
+ Trừ: dùng phép cộng với số bị trừ chuyển thành số đối của A = đổi bit + 1 = (-A)
+ Nhân: + Chia:
Số Thực:
+ Sử dụng dấu chấm động trước "." Vấn tính nhị phân bình thường
+ Sau dấu chấm động: dùng để biễu diễn số thực chính xác đơn Sign: 1 bit +
Exponent(biased): 8 bit + Significand: 32 bit
Sử dụng biased k = 127 (thay vì 128 như bt) Ví dụ: -5.25 -> -101.01
Tính 0.25 bằng cách *2 lần tới khi >= 1 rồi lấy số 1 tính tiếp phần thập phân
Nếu tiến tơi vô cùng thì lấy 23 bit ta làm tròn bit ở số 23 thành 1
Dùng chuỗi dời về sau thập phân tới khi tới 1 thành chuỗi 1.xxxx * 2^n và ta kí hiệu F = xxxx
và E = n Cấu trúc: S = 1 vì -5.25>0
Để tính Exponent (biased): Ta có Exponent = n + 127 = số thập phân -> dùng số này chuyển
tiếp về nhị phân.