Đối với số nguyên có dấu, 8 bit, giá trị biểu diễn số -29 là:

Biểu diễn số nguyên có dấuPhương pháp lượng dấu: Ta có thể biểu diễn cácsố từ −12710 đến +12710. Phương pháp này làmcho số âm lẫn trị tuyệt đối của nó [như −5 với+5] đều được biểu diễn theo cùng một cách ở 7bit biểu diễn độ lớn Ví dụ: Số 5 được biểu diễn sang hệ nhị phân là:00000101, còn số −5 là 10000101. Biểu diễn số nguyên có dấuPhương pháp bù 1: Sử dụng toán tử thao tác bitNOT để đảo tất cả các bit của số nhị phân dương[dĩ nhiên không tính bit dấu] để biểu diễn số âmtương ứng. Phương pháp bù 1 hoàn toàn giống như phươngpháp dấu lượng, duy chỉ khác ở cách biểu diễnđộ lớn của số Ví dụ: Dạng bù 1 của 00101011 [43] là11010100[−43].  Phương pháp bù 2: Một số bù 2 có được do đảo tấtcả các bit có trong số nhị phân [đổi 1 thành 0 vàngược lại] rồi thêm 1 vào kết quả vừa đạt được. Thựcchất, số biểu diễn ở dạng bù 2 là số biểu diễn ở bù 1rồi sau đó cộng thêm 1. Trong quá trình tính toánbằng tay cho nhanh người ta thường sử dụng cáchsau: từ phải qua trái giữ 1 đầu tiên và các số còn lạibên trái số 1 lấy đảo lại [chỉ áp dụng cho số có bit cựcphải là 1].  Phương pháp bù 2 thường được sử dụng đểbiểu diễn số âm trong máy tính. Theo phương phápnày, bit cực trái [là bit nằm bên trái cùng của byte]được sử dụng làm bit dấu [sign bit - là bit tượng trưngcho dấu của số] với quy ước: nếu bit dấu là 0 thì số làsố dương, còn nếu nó là 1 thì số là số âm. Ngoài bitdấu này ra, các bit còn lại được dùng để diểu diễn độlớn của số.  Ví dụ: số nguyên −5 ở hệ thập phân được biểu diễntrong máy tính theo phương pháp bù 2 như sau [vớimẫu 8 bit]: Bước 1: xác định số nguyên 5 ở hệ thập phân đượcbiểu diễn trong máy tính là: 0000 0101. Bước 2: đảo tất cả các bit nhận được ở bước 1. Kếtquả sau khi đảo là: 1111 1010. Bước 3: cộng thêm 1 vào kết quả thu được ở bước 2:kết quả sau khi cộng: 1111 1011. Bước 4: vì là biểu diễn số âm nên bit bên trái cùngluôn giữ là 1. Vậy với phương pháp bù 2, số −5 ở hệ thập phânđược biểu diễn trong máy tính như sau: 1111 1011. Biểu diễn số thực Số thực được biểu diễn dưới dạng IEEE 754 có độchính xác đơn [được biểu diễn bằng 32 bit – 1 bit dấu– 8 bit mũ – 23 bit giá trị phần lẻ] và độ chính xáckép [được biểu diễn bằng 64 bit – 1 bit dấu – 11 bitmũ – 52 bit giá trị phần lẻ]. Để có thể lưu được sốthực dưới dạng IEEE 754, chúng ta cần phải chuyểnsố chúng ta cần lưu về dạng số thực chuẩn[ số thựcchuẩn là số mà phần nguyên không có chứa số 0].  Ví dụ: Biểu diễn số -3.56125 trong máy tính:Bước 1: Chuyển phần nguyên sang hệ nhị phânBước 2: Chuyển số ở phần lẻ sang hệ nhị phân Nhân số 0.56125 cho 223 [đối với độ chính xác kép là252] = 4708106 Lấy kết quả vừa tính ra được trừ lần lượt cho 222 [đốivới độ chính xác kép là 252] đến 20 Nếu trừ cho 2n mà kết quả < 0 thì bỏ qua, ngược lạithì sẽ tiếp tục thực hiện phép trừ. Ngừng thực hiệnphép trừ khi kết quả ra bằng 0

Tất cả các số cũng như các kí tự trong máy vi tính đều được biểu diễn bằng các chữ số nhị phân.  Để biểu diễn các số nguyên không dấu, người ta dùng n bit. Tương ứng với độ dài của số bit được sử dụng, ta có các khoảng giá trị xác định như sau:

Biểu diễn số nguyên có dấu

==> Biểu diễn bằng dấu và trị tuyệt đối [Sign-Magnitude Representation]

Để biểu diễn số nguyên có dấu n-bit có dạng a n-1a n-2…a 1a 0 thì sử dụng bit trái nhất [a n-1] làm bit dấu. Bit dấu bằng 0 thể hiện số dương và bằng 1 thể hiện số âm. Giá trị được thể hiện bằng n ‒ 1 bit còn lại. Biểu diễn số +18 và −18 như sau: +18 = 00010010 −18 = 10010010. Số nguyên cần biểu diễn có thể được xác định theo công thức sau:

+18 = 00010010
−18 = 10010010

Số nguyên cần biểu diễn có thể được xác định theo công thức sau:

Phương pháp này gây ra hai khó khăn cho tính toán. Thứ nhất, khi phải thực hiện các phép cộng và phép trừ thì cần phải lưu ý đến dấu và độ lớn của hai số để thực hiện chính xác. Thứ hai, theo phương pháp này thì số 0 có hai cách biểu diễn:

+0 = 00000000
−0 = 10000000

Điều này gây ra khó khăn khi phải xử lý các phép tính đối với số 0. Do vậy phương pháp biểu diễn này ít được sử dụng trong bộ phận ALU của vi xử lý.

==> Biểu diễn bằng bù 2

Giống như phương pháp biểu diễn dấu và trị tuyệt đối, ở phương pháp này cũng dùng bit trái nhất [leftmost] để xác định số âm hay số dương. Nếu bit này bằng 0 biểu diễn số dương, ngược lại bit này bằng 1 biểu diễn số âm.

Giả sử biểu diễn số nguyên A bằng n-bit [a n-1a n-2…a 1a 0], nếu A >= 0 thì bit a n-1 bằng 0, các bit còn lại sẽ thể hiện độ lớn của số A.

Trong trường hợp này các số được biểu diễn từ 0 đến 2 n-1 −1. Đối với số 0 thì chỉ có một cách biểu diễn duy nhất, đó là tất cả các bit đều bằng 0.

Trong trường hợp A < 0, để biểu diễn bằng bù 2 trước tiên lấy bù 1 [đảo ngược các bit] của giá trị A. Sau đó lấy kết quả bù 1 vừa tìm được cộng với 1 sẽ được số bù 2. Ví dụ: dùng 8 bit để biểu diễn −20 bằng phương pháp bù 2.

20 = 00010100

Đối với trường hợp số âm thì phương pháp này biểu diễn được các số âm từ −1 đến −2n-1 nếu dùng n-bit. Trong trường hợp tổng quát [số dương và số âm] thì công thức để xác định giá trị của số A như sau:

Với bit a n-1 = 0 nếu biểu diễn số dương và a n-1 = 1 nếu biểu diễn số âm. Để thực hiện phép tính A – B chỉ cần lấy bù 2 của B, sau đó cộng kết quả với A.

Phương pháp này có ưu điểm là thực hiện các phép cộng và phép trừ tương đối đơn giản. Hơn nữa, chỉ có một biểu diễn duy nhất đối với số 0 nên thường được sử dụng trong ALU của vi xử lý.

==> Biểu diễn bằng số thừa K: Trong cách này, biểu diễn của một số dương N có được bằng cách “cộng thêm vào” số thừa K được chọn sao cho tổng của K và một số âm bất kỳ luôn luôn dương. Để biểu diễn số âm – N có được bằng cáck lấy K – N.

Số thừa K được chọn như sau: K = 127 [nếu dùng 8 bit] hoặc K=1023 [16 bit] Ví dụ: biểu diễn số +30 và – 30 bằng phương pháp số thừa K dùng 8 bit Biểu diễn số +30: K+30 = 127+30 = 157 [10011101] Biểu diễn số – 30: K–30 = 127–30 = 97 [01100001]

Video liên quan

Chủ Đề