1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 2 : Biểu diễn số nguyên docx

26 478 1

Đ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 26
Dung lượng 0,93 MB

Nội dung

TH028 – Kiến trúc máy tính và hợp ngữ Bài 2. Biểu diễn số nguyên Lê Trí Anh ltranh@fit.hcmuns.edu.vn Bài giảng có sử dụng tư liệu từ trang http://inst.eecs.berkeley.edu/~cs61c Mục tiêu • Sau bài này, SV có khả năng: – Mô tả cách biểu diễn số nguyên không dấu và có dấu ở dạng số nhị phân bù 2 – Chuyển đổi qua lại giữa các hệ cơ số 2,10,16 – Mô tả cách thực hiện những phép toán số học LTA08 – Mô tả cách thực hiện những phép toán số học Giá trị & biểu diễn • Giả sử không dùng các con số làm sao để diễn tả một lượng nào đó ? • Điều gì xảy ra nếu tất cả mọi người đều đồng ý thay số 0 bằng chữ z ? LTA08 • Cái gì là cơ sở chung của các hệ thống số 1,2,3,4…. và I,II,III,IV,… ? Hệ cơ số 10 A = 123 = 100 + 20 + 3 = 1.10 2 + 2.10 1 + 3.10 0 x n-1 …x 1 x 0 = x n-1 .q n-1 + … + x 1 .q 1 + x 0 .q 0 Tổng quát số hệ cơ số q mỗi chữ số x i lấy từ tập X có q phần tử LTA08 q=2, X={0,1} : hệ nhị phân (binary) q=8, X={0,1,2, 7} : hệ bát phân (octal) q=10, X={0,1,2,…9} : hệ thập phân (decimal) q=16, X={0,1,2, 9,A,B, F} : hệ thập lục phân (hexadecimal) A = 123 d = 01111011 b = 173 o = 7B h Hệ nhị phân • được dùng nhiều trong máy tính • n gọi là chiều dài bit của số đó • bit trái nhất x n-1 là bit có giá trị nhất MSB x n-1 …x 1 x 0 = x n-1 .2 n-1 + … + x 1 .2 1 + x 0 .2 0 Phạm vi lưu trữ: từ 0 đến 2 n -1 LTA08 • bit phải nhất x 0 là bit ít giá trị nhất LSB Để chuyển đổi từ hệ 2 sang hệ 16, chỉ cần gom từng nhóm 4 bit Ví dụ: A = 01111011 b 4 bit cuối 1011b = Bh 4 bit đầu 0111b = 7h Vậy A = 7Bh 0000 – 0 1000 – 8 0001 – 1 1001 – 9 0010 – 2 1010 – A 0011 – 3 1011 – B 0100 – 4 1100 – C 0101 – 5 1101 – D 0110 – 6 1110 – E 0111 – 7 1111 – F BIG IDEA: Bits can represent anything!! • Characters? – 26 letters  5 bits (2 5 = 32) – upper/lower case + punctuation  7 bits (in 8) (“ASCII”) – all the world’s languages  8,16,32 bits (“Unicode”) LTA08 • Logical values? 0  False, 1  True • colors ? Ex: • locations / addresses? commands? • MEMORIZE: N bits  at most 2 N things Red (00) Green (01) Blue (11) Biểu diễn số âm x n-1 …x 1 x 0 = x n-1 .(-2 n-1 )+ x n-2 .2 n-2 + … + x 1 .2 1 + x 0 .2 0 Phạm vi lưu trữ: từ -2 n-1 đến 2 n-1 -1 Ví dụ Vd: +123 = 01111011b -123 = 10000101b 0 = 00000000b - 1 = 11111111b - 1 = 11111111b -2 = 11111110b -3 = 11111101b -127 = 10000001b -128 = 10000000b Phép dịch bit và phép quay • Shift left (SHL) – Chuyển tất cả các bit sang trái, đánh mất bit trái nhất, thêm 0 ở bit phải nhất • Shift right (SHR) – Chuyển tất cả các bit sang phải, đánh mất bit phải nhất, thêm 0 ở bit trái nhất 11001010  10010100 10010101  01001010 LTA08 nhất, thêm 0 ở bit trái nhất • Quay trái (ROL) – Chuyển tất cả các bit sang trái, bit trái nhất thành bit phải nhất • Quay phải (ROR) – Chuyển tất cả các bit sang phải, bit phải nhất thành bit trái nhất 10010101  11001010 11001010  10010101 AND, OR, NOT, XOR • Các phép này giống như các phép toán logic, được thực hiện trên từng bit AND 0 1 0 0 0 1 0 1 OR 0 1 0 0 1 1 1 1 XOR 0 1 0 0 1 1 1 0 0 1 NOT 1 0 LTA08 1 0 1 1 1 1 1 1 0 11010011 00001111 AND 00000011 00000011 01100000 OR 01100011 01100011 01100011 XOR 00000000 NOT 11010011 = 00101100 [...]... bư c sau) ta có Bư c 0: A = (0 + (Q-1-Q0).M) Bư c 1: A = (0 + (Q-1-Q0).M + (Q0-Q1).M .2) = M.(Q-1-Q0 + Q0 .2- Q1 .2) Bư c 2: A = (M.(Q-1-Q0 + Q0 .2- Q1 .2) + (Q1-Q2).M .22 ) = M.(Q-1-Q0 + Q0 .2- Q1 .2 + Q1 .22 -Q2 .22 ) Bư c 3: A = M.(Q-1-Q0 + Q0 .2- Q1 .2 + Q1 .22 -Q2 .22 + Q2 .23 -Q3 .23 ) = M.(Q-1+Q0+Q1 .2 + Q2 .22 -Q3 .23 ) Cơ s c a thu t toán Bư c n- 1: A = M.(Q-1+Q0+Q1 .2 + Q2 .22 +Q3 .23 +…+Qn -2. 2n -2- Qn-1.2n-1 Vì Q-1=0 và Qn-1... K 21 0 = 1, 024 103 = 1,000 Mega M 22 0 = 1,048,576 106 = 1,000,000 Giga G 23 0 = 1,073,741, 824 109 = 1,000,000,000 Tera T 24 0 = 1,099,511, 627 ,776 10 12 = 1,000,000,000,000 Peta P 25 0 = 1, 125 ,899,906,8 42, 624 1015 = 1,000,000,000,000,000 Exa E 26 0 = 1,1 52, 921 ,504,606,846,976 1018 = 1,000,000,000,000,000,000 Zetta Z 27 0 = 1,180,591, 620 ,717,411,303, 424 1 021 = 1,000,000,000,000,000,000,000 Yotta Y 28 0 = 1 ,20 8, 925 ,819,614, 629 ,174,706,176... New IEC Standard Prefixes [only to exbi officially] Name Abbr Factor kibi Ki 21 0 = 1, 024 mebi Mi 22 0 = 1,048,576 gibi Gi 23 0 = 1,073,741, 824 tebi Ti 24 0 = 1,099,511, 627 ,776 pebi Pi 25 0 = 1, 125 ,899,906,8 42, 624 exbi Ei 26 0 = 1,1 52, 921 ,504,606,846,976 zebi Zi 27 0 = 1,180,591, 620 ,717,411,303, 424 yobi Yi 28 0 = 1 ,20 8, 925 ,819,614, 629 ,174,706,176 • International Electrotechnical Commission (IEC) in 1999 introduced...Ví d X = 00001000 b = 8 d X shl 2 = 00100000 b = 32 d (X shl 2) or X = 00101000 b = 40 d Y = 01001010 b = 74 d ((Y and 0Fh) shl 4) = 10100000 or ((Y and F0h) shr 4) = 00000100 = 10100100 b = 164 d = -92d Phép l y đ i Đ có s đ i, ta l y NOT sau đó c ng vào 1 đơn v 123 = 01111011 NOT( 123 ) = 10000100 + 1 - 123 = 10000101 NOT(0) -0 = 11111111 + 1 = 100000000 S 1s b m t do... bit xác đ nh d u nên ph n trong d u ngo c chính là Q V y A = M.Q Ví d : n=4, M=7, Q=-3 A Q Q-1 M Kh i đ u 0000 1101 0 0111 Bư c 0: A=A-M 1001 1101 0 0111 1100 1110 1 0111 0011 1110 1 0111 0001 1111 0 0111 1010 1111 0 0111 shift 1101 0111 1 0111 Bư c 3: shift 1110 1011 1 0111 shift Bư c 1: A=A+M shift Bư c 2: A=A-M K t qu 11101011 = -21 Phép chia A 0 Qs b chia M  s chia kn L p khi k > 0 { d ch trái... original SI prefixes (same pronunciation) and bi is short for “binary”, but pronounced “bee” :- ( – Now SI prefixes only have their base-10 meaning and never have a base -2 meaning en.wikipedia.org/wiki/Binary_prefix LTA08 Bài t p v nhà • Tìm hi u: – Các cách bi u di n s nguyên có d u khác – Các khái ni m: font 1 byte, font 2 bytes, UTF8, UTF-16, mã t h p, mã d ng s n ? LTA08 ... 1,000,000,000,000,000,000,000 Yotta Y 28 0 = 1 ,20 8, 925 ,819,614, 629 ,174,706,176 1 024 = 1,000,000,000,000,000,000,000,000 • Confusing! Common usage of “kilobyte” means 1 024 bytes, but the “correct” SI value is 1000 bytes • Hard Disk manufacturers & Telecommunications are the only computing groups that use SI factors, so what is advertised as a 30 GB drive will actually only hold about 28 x 23 0 bytes, and a 1 Mbit/s connection... } C đóng vai trò bit nh [C,A,Q] coi như m t thanh ghi ghép g m 2n+1 bit [C,A] coi như m t thanh ghi ghép g m n+1 bit C i ti n A 0 Q-10 M  s th hai Q  s th nh t kn L p khi k > 0 { n u 2 bit cu i Q0Q-1 { = 10 thì AA-M = 01 thì AA+M } d ch ph i s h c A,Q,Q-1 k=k-1 } Ý tư ng là thay th m t dãy liên ti p các bit 1 b ng m t hi u d ng 2a-2b C i ti n này cho phép thu t toán ch y đư c v i s có d u QiQi-1... 00110111 + 1011 10001111 Xét bit cu i c aQ M= 1 0 1 1 C A Q 0 0 0 0 0 1 1 0 1 b ng 1 : c ng M M= 1 0 1 1 d ch ph i d ch ph i 0 1 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 b ng 0 0 0 0 1 0 1 1 1 1 b ng 1 : c ng M M= 1 0 1 1 d ch ph i 0 1 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 M= 1 0 1 1 d ch ph i 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 b ng 1 : c ng M Thu t toán nhân [C,A]  0 M  s th hai Q  s th nh t kn L p khi k > 0 { . M.(Q -1 -Q 0 + Q 0 .2- Q 1 .2 + Q 1 .2 2 -Q 2 .2 2 ) Bước 3: A = M.(Q -1 -Q 0 + Q 0 .2- Q 1 .2 + Q 1 .2 2 -Q 2 .2 2 + Q 2 .2 3 -Q 3 .2 3 ) = M.(Q -1 +Q 0 +Q 1 .2 + Q 2 .2 2 -Q 3 .2 3 ) Cơ sở của. ta có Bước 0: A = (0 + (Q -1 -Q 0 ).M) Bước 1: A = (0 + (Q -1 -Q 0 ).M + (Q 0 -Q 1 ).M .2) = M.(Q -1 -Q 0 + Q 0 .2- Q 1 .2) Bước 2: A = (M.(Q -1 -Q 0 + Q 0 .2- Q 1 .2) + (Q 1 -Q 2 ).M .2 2 ) = M.(Q -1 -Q 0 +. ? Ex: • locations / addresses? commands? • MEMORIZE: N bits  at most 2 N things Red (00) Green (01) Blue (11) Biểu diễn số âm x n-1 …x 1 x 0 = x n-1 .( -2 n-1 )+ x n -2 .2 n -2 + … + x 1 .2 1 +

Ngày đăng: 10/07/2014, 11:20

TỪ KHÓA LIÊN QUAN

w