Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
769,18 KB
Nội dung
Chương Biểu diễn liệu số học máy tính 3.1 Các hệ đếm 3.2 Mã hoá lưu trữ liệu máy tính 3.3 Biểu diễn số nguyên 3.4 Số học nhị phân 3.5 Biểu diễn số dấu chấm động 3.6 Biểu diễn ký tự GV: Đinh Đồng Lưỡng 3.1 Các hệ đếm Hệ thập phân (Decimal System): người sử dụng Hệ nhị phân (Binary System): máy tính sử dụng Hệ thập lục phân (Hexadecimal System): dùng biểu diễn rút ngắn số học nhị phân Cách chuyển đổi hệ đếm GV: Đinh Đồng Lưỡng Hệ thập phân (decimal) Bộ ký tự sở gồm 10 số: 0…9 Dạng tổng quát: an-1an-2an-3…a1a0,a-1 a-2…a-m A= n −1 ∑ a *10 i= − m i i Trong (ai = 0…9) Ví dụ: 123,45 Phần nguyên : 123 : 10 = 12 dư 123 12 : 10 = dư Phần phân : : 10 = dư 0,45*10 = 4,5 0,5 *10 = GV: Đinh Đồng Lưỡng =123,45 45 Hệ nhị phân (Binary) Hệ thập lục phân (Hexadecimal) Hệ nhị phân(Binary) Bộ ký tự sở gồm số: 0,1 Dạng tổng quát: an-1an-2an-3…a1a0,a-1 a-2…a-m A= n −1 i a * ∑ i i= − m (ai = 0,1) Ví dụ: 11011,0112 = 24+23+21+20+2-2+2-3 =27,375 Thập lục phân (hexadecimal) Bộ ký tự sở: 0…9,A…F Dạng tổngnquát: an-1an-2an-3…a1a0,a-1 a-2…a-m −1 A= i a * 16 ∑ i i= − m (ai = 9, A F ) Ví dụ: 89ABH = 1000 1001 1010 1011B GV: Đinh Đồng Lưỡng 3.2 Mã hoá lưu trữ máy tính Nguyên tắc chung mã hoá liệu Mọi liệu đưa vào máy tính mã hoá thành số nhị phân Các loại liệu: • Dữ liệu nhân tạo: người quy ước • Dữ liệu tự nhiên: tồn khách quan với người Mã hoá liệu nhân tạo • Dữ liệu số nguyên: mã hoá theo số chuẩn qui ước • Dữ liệu số thực: mã hoá số dấu chấm động • Dữ liệu phi số (ký tự): mã hoá theo mã ký tự hành : ASCII, Unicode,… GV: Đinh Đồng Lưỡng Mô hình mã hoá tái tạo tín hiệu vật lý T/h vlý T/h vlý Bộ cảm biến tín hiệu (Sensor) Bộ chuyển đổi tương tự => số (ADC) Bộ tái tạo tín hiệu Bộ chuyển đổi số=> tương tự (ADC Các liệu vật lý thông dụng Âm Hình ảnh GV: Đinh Đồng Lưỡng Máy tính Thứ tự lưu trữ byte liệu MT Bộ nhớ tổ chức lưu trữ liệu theo đơn vị byte Độ dài từ liệu chiếm từ đến byte Vì cần phải biết thứ tự chúng lưu trữ nhớ đối liệu nhiều byte Có hai cách lưu trữ đưa Little Endian (đầu nhỏ): Byte có ý nghĩa thấp lưu trữ nhớ vị trí có địa nhỏ Big Endian (đầu to): Byte có ý nghĩa thấp lưu trữ nhớ vị trí có địa lớn GV: Đinh Đồng Lưỡng Thứ tự lưu trữ byte liệu MT Ví dụ: lưu trữ từ 32bit 0001 1010 0010 1011 0011 1100 0100 1101B A B C DH Biểu diễn ngăn nhớ theo cách 300 4D 300 1A 301 3C 301 2B 302 2B 302 3C 303 1A 303 4D Little Endian GV: Đinh Đồng Lưỡng Big Endian Thứ tự lưu trữ byte liệu MT Lưu trữ vi xử lý điển hình Loại máy Intel: 80x86, Petium -> little endian Motorola 680x0 xử lý RISC -> big endian Power PC & Itanium: tích hợp hai cách GV: Đinh Đồng Lưỡng 3.3 Biểu diễn số nguyên Máy tính biểu diễn số nguyên chia thành loại Biểu diễn số nguyên không dấu (unsign integer) 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-> dải mà n bit biểu diễn từ -> 2n-1 Giá trị số nguyên tính: n −1 i ∑a i i= *2 • Dải miền trị số nguyên không dấu biểu hình tròn • Giá trị nhỏ • Giá trị lớn 2n-1 GV: Đinh Đồng Lưỡng Biểu diễn số dấu chấm động Loại Single Double Quadruple Bề rộng trường (bit) S E M Tổng cộng E cực đại E cực tiểu Độ dịch 23 32 255 127 11 52 64 2047 1023 15 111 128 32767 16383 GV: Đinh Đồng Lưỡng Biểu diễn số dấu chấm động chuẩn IEEE 32bit S E M ± • e± S=1 phần định trị âm S=0 phần định trị dương E: giá trị E nằm bit, số mũ dịch chuyển 127 M: phần định trị, giá trị nằm 23 bit Ta có số –2345,125 hệ thập phân Hãy biểu diễn chúng dạng chuẩn IEEE 32bit máy tính GV: Đinh Đồng Lưỡng Biểu diễn số dấu chấm động B1: Chuyển đổi số hệ hai -2345,125d = -1001 0010 1001.001b (dãy số nhị phân biểu diễn bình thường) B2: Chuẩn hoá theo IEEE 32bit -1.001 0010 1001 001 x 211 B3: Xác định thông số biểu diễn s,M,E S: phần định trị số âm, nên s E : phần mũ xác định e = E-127 => E = 11+127=138=10001010 M: phần định trị xác định 001 0010 1001 0010 0000 0000 (số 32 bit) GV: Đinh Đồng Lưỡng Biểu diễn số dấu chấm động Để thực phép cộng trừ hai số dấu chấm động phải tiến hành theo bước sau: Tăng số mũ số có số mũ nhỏ cho số có số mũ lớn Cộng (hoặc trừ) phần định trị Nếu cần thiết chuẩn hoá kết trả lại X1 -> M1 E1 để biểu diễn X1 =M1*RE1 X2 -> M2 E2 để biểu diễn X2 =M2*RE2 X1*X2 = (M1*M2)*RE1+E2 X1/ X2 = (M1 / M2)*RE1-E2 X1±X =(M1*R(E1-E2) ±M2)*RE2 (với giả thiết E1>E2) GV: Đinh Đồng Lưỡng Biểu diễn số dấu chấm động •Một số quy ước Nếu e =255 M0 -> số Nếu e =255 M=0 -> Giá trị âm dương vô Nếu e =0 M=0 -> giá trị Dải biểu diễn: 2-127 đến 2+127 hay tương đương 10-38 đến 10+38 -2+127 Overflow GV: Đinh Đồng Lưỡng -2-127 2-127 2+127 Underflow Overflow 3.6 Biểu diễn ký tự Có hai mã thường sử dụng máy tính: Bộ mã ASSCII Bộ mã Unicode Bộ mã ASCII (American Standard Code for Information Interchange) Do ANSI (American National Standard Institute) thiết kế Bộ mã bit -> mã hoá 28 ký tự có mã 00H ->FFH Trong GV: Đinh Đồng Lưỡng 3.6 Biểu diễn ký tự 128 ký tự chuẩn cố định có mã (00H -> 7FH) 33 ký tự điều khiển thị nên hình Bao gồm ký tự điều khiển định dạng văn bản, điều khiển truyền số liệu điều khiển phân cách thông tin Còn lại ký tự lại hiển thị bao gồm: 26 ký tự hoa 41h -> 5Ah 26 ký tự thường 61h ->7Ah 10 ký tự số 30h ->39h dấu số học ký tự đặc biệt GV: Đinh Đồng Lưỡng 3.6 Biểu diễn ký tự 128 ký tự lại ký tự mở rộng thay đổi tuỳ ý nhà chế tạo máy tính hay người phát triển phần mền sử dụng vào việc riêng Có mã 80H -> FFH Bộ mã hợp Unicode: Do hãng máy tính hàng đầu giới kết hợp thiết kế Bộ mã 16 bit xây dựng mã toàn cầu 216 ký tự với 128 ký tự đầu có mã trùng mã bảng mã ASCII Có hỗ trợ ký tự Tiếng Việt GV: Đinh Đồng Lưỡng Phần trao đổi giải đáp GV: Đinh Đồng Lưỡng Ôn tập chương Các hệ đếm, ý nghĩa chúng máy tính Mã hóa liệu máy tính Mã hóa số nguyên(mã hóa số nguyên có không dấu) Mã hóa số thực (số dấu chấm động) Các thuật toán tính toán số học nhị phân Mã hóa ký tự (ASCII, Unicode) Lưu trữ liệu máy tính Mô hoạt động tính toán số học ALU GV: Đinh Đồng Lưỡng Đặt câu hỏi Câu 1: Kết hiển thi lên hình bao nhiêu? Khi thực đoạn lệnh sau: Var a: shortint; Begin a:=-1; writeln(‘Gia tri a:=’,a); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]); End Kết quả: -1 255 GV: Đinh Đồng Lưỡng Đặt câu hỏi Câu 2: Kết hiển thi lên hình bao nhiêu? Khi thực đoạn lệnh sau: Var a: shortint; Begin a:=-128; writeln(‘Gia tri a:=’,a); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]); End Kết quả: -128 128 GV: Đinh Đồng Lưỡng Đặt câu hỏi Câu 3: Kết hiển thi lên hình bao nhiêu? Khi thực đoạn lệnh sau: Var a: shortint; Begin a:=$6A; writeln(‘Gia tri a:=’,a); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]); End Kết quả: 106 106 GV: Đinh Đồng Lưỡng Đặt câu hỏi Câu 4: Kết hiển thi lên hình bao nhiêu? Khi thực đoạn lệnh sau: Var b : integer absolute 3715:100; a : shortint absolute 3715:100; Begin b:=$00B5; writeln(‘Gia tri a:=’,a); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]); End Kết quả: -75 181 GV: Đinh Đồng Lưỡng Đặt câu hỏi Câu 5: Kết hiển thi lên hình bao nhiêu? Khi thực đoạn lệnh sau: Var b : integer absolute 3715:100; a: shortint absolute 3715:100; Begin b:=-75; writeln(‘Gia tri a:=’,a); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)]); writeln(‘Gia tri ngan nho:=’, mem[seg(a):ofs(a)+1]); writeln(‘Gia tri ngan nho:=’, memw[seg(a):ofs(a)]); End Kết quả: -75; 181; 255 65461 GV: Đinh Đồng Lưỡng [...]... dụ: Số nguyên không dấu • Ví dụ: GV: Đinh Đồng Lưỡng n=8 n=16 n =32 0…28-1 (255) 0… 216-1 (65 535 ) 0… 232 -1 Số nguyên có dấu • Số bù một và số bù hai ĐN: Cho một số nhị phân N được biểu diễn bởi n bit Ta có Số bù một của N bằng (2n-1)-N Số bù hai của N bằng 2n-N Ví dụ: Cho số N = 0001 00012 được biểu diễn bởi n=8bit Xác định số bù 1 và bù 2 của N Ap dụng công thức 1111 1111 (2n-1) 0001 0001 N số bù... GV: Đinh Đồng Lưỡng Số nguyên có dấu Nhận xét: số bù một của một số N được xác định bằng cách đảo các bit trong N Ap dụng công thức 1 0000 0000 (2n) 0001 0001 N số bù hai của N 1110 1111 Nhận xét: số bù hai của một số N được xác định bằng cách lấy số bù một của N cộng thêm 1 Số bù 2 của N = (số bù 1 của N)+1 GV: Đinh Đồng Lưỡng Số nguyên có dấu Giả sử dùng n bit để biểu diễn số nguyên có dấu-> dải... thì số nhị phân cần tính giá trị là số dương Dạng tổng quát là: 0an-2an -3 a0 = 1 : thì số nhị phân cần tính giá trị là số âm Dạng tổng quát là: 1an-2an -3 a0 − 2 n −1 + Giá trị tính GV: Đinh Đồng Lưỡng n −2 i a * 2 ∑ i i =0 Ví dụ 1 Ví dụ 1: Cho số nguyên có dấu biểu diễn n=8bit sau: A=B5H và B=6AH Hãy xác định giá trị của hai số nguyên có dấu A và B dưới dạng hệ số người sử dụng Bài giải • Biểu diễn số. .. sai GV: Đinh Đồng Lưỡng 3. 4 Số học nhị phân Phép trừ Phép trừ số nguyên chính là phép cộng với số đảo dấu Ví như X-Y = X+(-Y) Tìm số đảo chính là ta tìm bù hai của số đó Nguyên tắc phép trừ: Lấy bù hai của Y ra thành –Y rồi cộng với X GV: Đinh Đồng Lưỡng Y (n-bit) X(n-bit) Bù hai -Y Bộ cộng n-bit S=X-Y 3. 4 Số học nhị phân • Nhân số nguyên không dấu 1011 Số bị nhân 1001 Số nhân 1011 0000 Tích riêng... -128 + 53 = - 75 • Biểu diễn số nguyên B dưới dạng nhị phân B=6AH = 0110 10102 => B = 64 +32 +8+2 = 106 GV: Đinh Đồng Lưỡng Ví dụ 2 Ví dụ 2: Biểu diễn số nguyên có dấu sau đây A=+97 và B=-101 theo hai dạng kiểu n=8bit và n=16bit trong máy tính Lời giải Biểu diễn số A dạng số nguyên có dấu trong máy tính A = 0110 00012 (n=8bit) Biểu diễn số B dạng số nguyên có dấu trong máy tính Biểu diễn số +101... Lưỡng 3. 4 Số học nhị phân Nếu bit của số nhân là 0 => Tích riêng phần bằng 0 Nếu bit của số nhân là 1 => Tích riêng phần là giá trị số bị nhân Tích riêng phần tiếp theo được dịch trái 1 bit so với tích riêng phần phía trước đó Tích bằng tổng các tích riêng phần Nhân hai số nguyên n bit Tích có độ dài luôn chuẩn bị 2n bit Vì vậy phép nhân không có khái niệm tràn GV: Đinh Đồng Lưỡng 3. 4 Số học... Đồng Lưỡng Nhân số nguyên có dấu Ta có thể sử dụng một trong hai thuật toán: Sử dụng thuật toán nhân không dấu cho số có dấu Sử dụng thuật toán giải Booth Thuật toán nhân không dấu: Chuyển số bị nhân và số nhân thành số dương Nhân hai số dương sử dụng thuật giải trên Hiệu chỉnh dấu của tích - Nếu 2 thừa số có cùng dấu thì kết quả tính được là kết quả cần tìm - Nếu 2 thừa số khác dấu thì kết... không có khái niệm tràn GV: Đinh Đồng Lưỡng 3. 4 Số học nhị phân Bộ nhân số nguyên không dấu Mn-1 Mn-2 * * * M1 M0 Số bị nhân ĐK cộng Bộ cộng n bit Bộ điều khiển cộng và dịch ĐK dịch phải C An-1 An-2 * * * A1 A0 Qn-1 Qn-2 Số nhân GV: Đinh Đồng Lưỡng * * * Q1 Q0 3. 4 Số học nhị phân START C,A 0110... toán Booth: START C