1. Trang chủ
  2. » Khoa Học Tự Nhiên

Số âm trong máy tính ppt

23 610 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 158 KB

Nội dung

Số âm trong máy tínhTrong toán học, các số âm bất kể thuộc hệ cơ số nào đều được biểu diễn bằng cách thông thường là đặt trước số dương tương ứng một dấu "−" trừ.. Phương pháp này làm c

Trang 1

Số âm trong máy tính

Trong toán học, các số âm (bất kể thuộc hệ cơ số nào) đều được biểu diễn bằng cách thông thường là đặt trước số

dương tương ứng một dấu "−" (trừ) Ví dụ: với hệ thập phân,

số nguyên âm năm được biểu diễn là −5 Tuy nhiên, trong máy tính, khi mọi ký hiệu, con số, đều được biểu diễn

dưới hệ nhị phân thông qua hai chữ số 0 và 1 thì mọi chuyện lại trở nên phức tạp hơn.

Có nhiều cách được sử dụng để biểu diễn số âm trong máy tính Bài này chỉ giới thiệu bốn phương pháp chủ yếu nhất,

đó là: phương pháp dấu lượng ( sign-and-magnitude ), bù 1,

bù 2

bù 2 và số quá N ( excess-N ).

Các máy tính hiện nay hầu hết đều sử dụng phương pháp

Trang 2

Dấu lượng

 Phương pháp dấu lượng dùng bit cực trái làm bit dấu (sign

bit) – tức đại diện cho dấu của số – theo quy ước: nếu bit dấu là

0 thì số là số dương (0 tương đương với dấu "+"), ngược lại, nếu nó là 1 thì số là số âm (1 tương đương với dấu "−") Các bit còn lại được dùng để biểu diễn độ lớn của số (hay

giá trị tuyệt đối – absolute value – của số)

 Theo phương pháp này, một byte 8 bit sẽ có 7 bit (trừ đi bit

dấu) được dùng để biểu diễn cho các số có giá trị từ 0000000 (0) đến 1111111 (127) Khi sử dụng bit dấu, ý nghĩa của 7 bit trên sẽ thay đổi, và ta có thể biểu diễn các số từ −127 đến +127 Phương pháp này làm cho 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 ở 7 bit biểu diễn độ lớn Trong phương pháp dấu lượng, số 0 có thể được biểu diễn ở hai dạng, đó là 00000000 (+0) và 10000000 (−0)

Trang 3

Dấu lượng –Ví dụ

 Ví dụ: giả sử mẫu 8 bit, khi sử dụng phương pháp dấu lượng,

số 5 được biểu diễn sang hệ nhị phân là: 00000101, còn số −5

là 10000101

 So sánh với cách biểu diễn số âm mà ta thường sử dụng, ta

thấy phương pháp dấu lượng có nhiều điểm tương đồng Trong

hệ thập phân, khi muốn biểu diễn số có dấu, ta đặt dấu cần

biểu diễn ngay trước giá trị tuyệt đối của số Phương pháp dấu lượng cũng đặt dấu ngay trước giá trị tuyệt đối của số, chỉ có khác ở chỗ thay dấu "+" bằng "0" và "−" bằng "1" Có lẽ vì sự tương đồng này, một vài máy tính thế hệ đầu tiên (như

IBM 7090) đã sử dụng phương pháp dấu lượng khi biểu diễn

số âm

Trang 4

Phương pháp bù 1

 Phương pháp bù 1 biểu diễn số âm theo cách sau:

 Thứ nhất, bit dấu là 0 nếu số là số dương, và 1 nếu số là số âm

 Thứ hai, sử dụng toán tử thao tác bit (bitwise) NOT để đả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ố âm tương ứng

 Như vậy, phương pháp bù 1 hoàn toàn giống như phương pháp dấu lượng, duy chỉ khác ở cách biểu diễn độ lớn của số.

Trang 5

Bù 1 ( tt)

 Khi thực hiện phép cộng giữa hai số biểu diễn theo

phương pháp bù 1, ta cũng thực hiện theo quy tắc

cộng nhị phân thông thường, tuy nhiên, sau khi đã

thực hiện xong, nếu còn phát sinh bit nhớ thì phải tiếp tục cộng bit nhớ này vào kết quả vừa thu được Về

vấn đề này, xin xem thêm ở bài chính về bù 1.

 Phương pháp biểu diễn số bù 1 được sử dụng rộng rãi trong các thế hệ máy tính cũ, điển hình là các dòng

máy PDP-1 và UNIVAC 1100/2200.

Trang 6

Bù 1 (tt)

số bù 1 có thể 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).

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

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

sau (với mẫu 8 bit): đầu tiên, xác định số 5 được biểu diễn trong máy tính:

0000 0101 Tiếp theo, đảo tất cả các bit có trong số 5: kết quả sau khi đảo:

1111 1010 Vì là biểu diễn số âm nên bit bên trái cùng luôn giữ là 1.

1111 1010.

Trang 7

Bù 1 (tt)

diễn theo phương pháp bù 2, ta thực hiện như

hợp khi đã thực hiện phép cộng đến bit cực trái

mà vẫn phát sinh bit nhớ thì ta cộng tiếp bit

nhớ này vào kết quả vừa nhận được.

Trang 9

Công bù với 8 bits

2 Cộng hai số thập phân −5 với −7 (mẫu 8 bit):

Trang 10

Ví dụ

số 1111 1010 và 1111 1000, ta được kết quả là 1111 0011 và còn nhớ 1, do đó, ta tiếp tục cộng bit nhớ vào kết quả vừa

nhận được để ra kết quả cuối cùng

Trang 11

Bù 1 và tràn số

và −6 ở hệ thập phân Biểu diễn nhị phân bằng phương pháp bù 1 với mẫu 4 bit

của hai số trên lần lượt là 1010 và 1001 Giả sử, bây giờ, ta cần cộng hai số này.

Trang 13

Bù 2

 Trong phương pháp bù 2, các số âm được biểu diễn giống như phương pháp bù 1, tuy nhiên, phải cộng thêm 1 vào kết quả (ở

hệ nhị phân)

 Ví dụ: số −5 được biểu diễn sang hệ nhị phân (xét mẫu 8 bit)

sử dụng phương pháp bù 1 là 11111010 Để biểu diễn theo

phương pháp bù 2, ta cộng thêm 1 vào số nhị phân ở bù 1, tức cộng 1 cho 11111010: 11111010 + 1 = 11111011 Vậy

11111011 là biểu diễn bằng bù 2 của −5 trong máy tính

 Phương pháp biểu diễn số bù 2 ra đời khi người ta gặp vấn đề với hai phương pháp dấu lượng và bù 1, đó là:

 Có hai cách biểu diễn cho số 0

 Bit nhớ phát sinh sau khi đã thực hiện phép tính phải được

cộng tiếp vào kết quả

Trang 14

Bù 2 (tt)

 Với phương pháp bù 2, số 0 chỉ có một cách biểu diễn duy

nhất là 00000000 (mẫu 8 bit) Việc đổi dấu một số – kể cả từ

âm sang dương hay từ dương sang âm – đều được thực hiện theo cùng một cách, đó là: đảo tất cả các bit rồi cộng thêm một vào kết quả Việc thực hiện phép cộng với số biểu diễn theo phương pháp bù 2 được thực hiện hoàn toàn giống như cộng hai số nhị phân bình thường, tuy nhiên, khi phát sinh bit nhớ ở bit dấu, ta có thể bỏ nó đi Về vấn đề này, xin xem thêm ở

bài chính về bù 2

 Với mẫu 8 bit, phương pháp bù 2 có thể biểu diễn tốt các số nguyên có giá trị từ −128 đến +127 (so với từ −127 đến +127 theo phương pháp dấu lượng và bù 1) do được lợi từ việc tiết kiệm được một cách biểu diễn số 0 (không phân biệt giữa −0

và +0)

Trang 15

Bù 2 (tt)

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ố

Trang 16

Ví dụ

 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):

 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

 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

 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ù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

Trang 17

 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

Trang 18

 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):

 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

 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)

 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

 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 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)

Trang 19

Thực hiện phép cộng với số bù 2

diễn theo phương pháp bù 2, ta thực hiện như phép cộng nhị phân bình thường, tuy nhiên, trong trường hợp khi đã thực hiện phép cộng đến bit cực trái mà vẫn phát sinh bit nhớ thì ta

bỏ bit nhớ này đi.

Trang 22

Tràn Số

Xét trường hợp ta đang có hai số âm −6 và

−4 ở hệ thập phân Biểu diễn nhị phân

bằng phương pháp bù 2 với mẫu 4 bit của hai số trên lần lượt là 1010 và 1100 Giả

sử, bây giờ, ta cần cộng hai số này.

Ta thực hiện phép cộng:

Trang 23

Ta thấy, kết quả nhận được là 0110 Nếu đổi

ra hệ thập phân, đây là số nguyên dương 6 chứ không phải −10 như mong đợi

Ngày đăng: 22/03/2014, 21:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w