1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

Biểu diễn số nguyên có dấu (tiếp)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (28.36 MB, 97 trang )


Nhận xét

Ví dụ









Xét n = 4 bit, A = 0110

Số bù một của A = (24 - 1) - 0110 = 1001

Số bù hai của A = 24 - 0110 = 1010



Có thể tìm số bù một của A bằng cách đảo ngược tất cả các bit

Số bù hai = Số bù một + 1

A + Số bù hai của A = 0 nếu bỏ qua bit nhớ ra khỏi bit cao nhất



©Nguyễn Thị Thu Trang, SE-FIT-HUT



46



Biểu diễn số nguyên có dấu (tiếp)

Biểu diễn số nguyên có dấu bằng số bù hai







Dùng n bit để biểu diễn số nguyên có dấu A

Biểu diễn số bù 2 của A (sử dụng n bit)



Ví dụ: Biểu diễn số nguyên có dấu sau đây bằng 8 bit: A = - 70 (10)

Biểu diễn 70 = 0100 0110

Bù 1:



1011 1001 (nghịch đảo các bit)

+



Bù 2:



1

1011 1010



Vậy: A = 1011 1010(2)



©Nguyễn Thị Thu Trang, SE-FIT-HUT



47



2.3.2. Số nguyên có dấu (tiếp)

Dùng n bit biểu diễn số nguyên có dấu A:

an-1an-2...a2a1a0

Với số không âm:



Bit an-1 = 0

Các bit còn lại biểu diễn độ lớn của số không âm đó











Dạng tổng quát của số không âm: 0an-2...a2a1a0

Giá trị của số không âm:

Dải biểu diễn của số không âm: [0, 2n-1-1]

©Nguyễn Thị Thu Trang, SE-FIT-HUT



48



2.3.2. Số nguyên có dấu (tiếp)

Dùng n bit biểu diễn số nguyên có dấu A:

an-1an-2...a2a1a0



Với số âm:













Bit an-1 = 1

Dạng tổng quát của số âm: 1an-2...a2a1a0

Giá trị của số âm:



Dải biểu diễn của số âm: [-2n-1, -1]

©Nguyễn Thị Thu Trang, SE-FIT-HUT



49



2.3.2. Số nguyên có dấu

Dạng tổng quát của số nguyên có dấu A:



an-1an-2...a2a1a0

Giá trị của A được xác định như sau:



n-1 n-1

Dải biểu diễn: [-2 , 2 -1]



©Nguyễn Thị Thu Trang, SE-FIT-HUT



50



2.3.2. Số nguyên có dấu (tiếp)

Ví dụ: Xác định giá trị của các số nguyên có dấu 8 bit sau đây:

A = 0101 0110

B = 1101 0010



Giải:

A = 26 + 2 4 + 2 2 + 2 1

= 64 + 16 + 4 + 2 = +86(10)

B = -27 + 26 + 24 + 21

= -128 + 64 + 16 + 2 = - 46(10)

©Nguyễn Thị Thu Trang, SE-FIT-HUT



51



Trường hợp cụ thể: với n = 8 bit

Dải biểu diễn là [-128, 127]

0000 0000 =

0000 0001 =

0000 0010 =

.......

01111111 =

10000000 =

10000001 =

.......

1111 1110 =

1111 1111 =



Trục số học máy tính:



0

+1

+2

+127

-128

-127

-2

-1



©Nguyễn Thị Thu Trang, SE-FIT-HUT



52



Chương 02: Biểu diễn dữ liệu trong máy tính

2.1. Biểu diễn dữ liệu trong máy tính,

đơn vị thông tin

2.2. Biểu diễn số trong các hệ đếm

2.3. Biểu diễn số nguyên

2.4. Tính toán số học với số nguyên

2.5. Tính toán logic với số nhị phân

2.6. Biểu diễn ký tự

2.7. Biểu diễn số thực



©Nguyễn Thị Thu Trang, SE-FIT-HUT



53



2.4.1. Cộng số nguyên không dấu

Tiến hành cộng lần lượt từng bít từ phải qua trái theo nguyên tắc:



1+0=1

0+0=0



0+1=1

1 + 1 = 0 nhớ 1



©Nguyễn Thị Thu Trang, SE-FIT-HUT



54



2.4.1. Cộng số nguyên không dấu (2)

Khi cộng hai số nguyên không dấu n bit ta thu được kết quả tổng cũng được biểu

diễn bằng n bit.



Nếu tổng thực sự của 2 số đó ≤ 2n – 1 thì kết quả

nhận được là đúng.

Nếu tổng thực sự của hai số đó > 2n - 1 thì kết quả

nhận được sẽ sai, khi đó sẽ xảy ra hiện tượng nhớ

ra ngoài (Carry-out) hay tràn số (overflow)

 Cần sử dụng nhiều bit hơn để biểu diễn.



©Nguyễn Thị Thu Trang, SE-FIT-HUT



55



2.4.1. Cộng số nguyên không dấu (3)

Trường hợp không xảy ra tràn số:











X = 1001 0110(2) = 150(10)

Y = 0001 0011(2) = 19(10)

S = 1010 1001(2) = 169(10)

Cout = 0



Trường hợp có xảy ra tràn số:













X = 1100 0101(2) = 197(10)

Y = 0100 0110(2) = 70(10)

S = 0000 1011(2) ≠ 267(10)

Cout = 1 → carry-out

(KQ sai: 197 + 70 = 11)

©Nguyễn Thị Thu Trang, SE-FIT-HUT



56



Xem Thêm
Tải bản đầy đủ (.ppt) (97 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×