Iểu diễn số nguyên

Một phần của tài liệu BÀI GIẢNG CẤU TRÚC MÁY TÍNH potx (Trang 28 - 31)

Mục tiêu của chƣơng

3.3.iểu diễn số nguyên

Máy tính biểu diễn số nguyên chia thành 2 loại o Biểu diễn số nguyên không dấu (unsign integer) o Biểu diễn số nguyên có dấu (sign integer)

 Số nguyên không dấu:

Giả sử dùng n bit để biểu diễn số nguyên không dấu thì dải số mà n bit biểu diễn được từ 0 đến 2n-1

. Giá trị của số nguyên đó được tính:

 Max+1=Min

 Min -1=Max o Giá trị nhỏ nhất bằng 0

o Giá trị lớn nhất bằng 2n-1

 Số nguyên có dấu :

Một số nguyên a thì đối của nó –a, để mô tả dược số âm bit cao nhất sẽ được trích ra sử dụng làm dấu, nếu bít đó =1 tương ứng với số âm, nếu bằng 0 tương ứng với số dương. Giải thiết với một số nguyên có dấu 8 bit thì sẽ được biểu thị như sau:

Như vậy khi sử dụng một bít để biểu thị dấu, với một số nguyên kích thước n bit thì giá trị tối đa mà nó biểu diễn chỉ còn 2(n-1)-1.

Ta nhận thấy rằng a + (-a) = 0, giả thiết a = 101 với cách biểu diễn số âm như trên ta có :

+a = 0101 -a = 1101

=> a + (-a) = 0101 + 1101 = 10010 = -2 (nếu coi bit 1 dâu tiên là dấu) <> 0. Như vậy với cách biểu thị số âm như trên không thỏa mãn đặc tính số đối trong toán học. Người ta sử dụng một cách biểu diễn khác là số bù 2.

 Số bù 2 :

Max: 255

Min: 0

VD giải giá trị của số nguyên 8 bit

0 7 6 Bit dấu: = 1: Số âm = 0: Số dương Giá trị thực

Bù 2 (tiếng Anh: two's complement) là một số trong hệ nhị phân là bù đúng (true complement) của một số khác. Một số bù 2 có được do đảo tất cả 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ực chất, số biểu diễn ở dạng bù 2 là số biểu diễn ở bù 1 rồi sau đó cộng thêm 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áp nà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ưng cho 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 bit dấ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ễn trong máy tính theo phương pháp bù 2 như sau (với mẫu 8 bit):

o Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101.

o Bước 2: đảo tất cả các bit nhận được ở bước 1. Kết quả sau khi đảo là: 1111 1010.

o 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.

o Bước 4: vì là biểu diễn số âm nên bit bên trái cùng luô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.

Ngoài cách làm theo định nghĩa như trên ra, ta còn có thể áp dụng phương pháp bù 2 theo quy tắc sau: với biểu diễn nhị phân của một số dương cho trước, để biểu diễn số âm tương ứng, ta bắt đầu tìm từ phải sang trái cho đến khi gặp bit đầu tiên có giá trị 1. Khi gặp được bit này, ta đảo tất cả các bit từ ngay kề trước nó (tức trước bit có giá trị 1 vừa nói tới) cho đến bit cực trái, và luôn nhớ: bit cực trái là 1.

Ví dụ: ta cũng biểu diễn lại số nguyên −5 ở hệ thập phân sang hệ nhị phân theo quy tắc mới này (giả sử với mẫu 8 bit):

o Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101.

o Bước 2: bắt đầu tìm (từ phải qua trái) bit đầu tiên có giá trị 1, ta thấy, đó là bit thứ nhất (tính từ phải qua).

o Bước 3: đảo tất cả các bit nằm trước bit thu được ở bước 2. Kết quả nhận được: 1111 1011 (adsbygoogle = window.adsbygoogle || []).push({});

Vậy số −5 ở hệ thập phân được biểu diễn trong máy tính theo phương pháp bù 2 là: 1111 1011 (hoàn toàn giống như kết quả trong ví dụ trên).

Một phần của tài liệu BÀI GIẢNG CẤU TRÚC MÁY TÍNH potx (Trang 28 - 31)