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

2 khao sat so nguyen

4 3 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 346,37 KB

Nội dung

Bài thực hành số 1 HDTH môn Kiến trúc máy tính & Hợp Ngữ Khảo sát số nguyên Bộ môn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM 1 KHẢO SÁT SỐ NGUYÊN Mục tiêu SV có thể  Chuyển đổi gi[.]

HDTH mơn Kiến trúc máy tính & Hợp Ngữ Khảo sát số nguyên KHẢO SÁT SỐ NGUYÊN Mục tiêu: SV     Chuyển đổi số (có dấu khơng dấu) hệ 10 hệ số Xác định số lớn số bé kiểu liệu số nguyên ngôn ngữ C++ Xác định kết phép gán giá trị biến nguyen vào biến ngun khác kiểu (trong ngơn ngữ C++) Giải thích ý nghĩa việc lề (align) liệu Tóm tắt lý thuyết Hệ nhị phân (hay hệ đếm số 2) hệ đếm dùng hai ký tự để biểu đạt giá trị số, tổng số lũy thừa Chúng thường dùng để biểu đạt hai giá trị hiệu điện tương ứng (có hiệu điện thế, hiệu điện cao khơng có, thấp 0) Do có ưu điểm tính tốn đơn giản, dễ dàng thực mặt vật lý, chẳng hạn mạch điện tử, hệ nhị phân trở thành phần kiến tạo máy tính Hệ thập phân hệ đếm dùng vị trí định lượng (positional numeral system), bao gồm hàng đơn vị, hàng chục, hàng trăm v.v Vị trí số ám phép nhân (mũ 10) với số vị trí đó, số bên tay trái, có giá trị gấp mười lần số kế bên, bên tay phải Bài tập Tự nghĩ số nguyên phạm vi -256 đến +256, thử đổi số sang hệ nhị phân (dùng 10 bit để biểu diễn) Ví dụ: Nhập vào số nguyên: Biểu diễn nhị phân tương ứng:00 0000 0101 Nhập vào số nguyên: -5 Biểu diễn nhị phân tương ứng:11 1111 1011 Nhập vào số nguyên: 12 Biểu diễn nhị phân tương ứng:00 0000 1100 Nhập vào số nguyên: -12 Biểu diễn nhị phân tương ứng:11 1111 0100 Ghi chú: biểu diễn số nguyên âm sang hệ dùng phương pháp bù 2 Tự nghĩ số nhị phân (dùng 10 bit để biểu diễn), thử đổi số sang hệ 10 Ví dụ: Dãy nhị phân:00 0000 0101 Số nguyên tương ứng: Nhập vào số nguyên:11 1111 1011 Số nguyên tương ứng: -5 Nhập vào số nguyên:00 0000 1100 Số nguyên tương ứng:12 Nhập vào số nguyên:11 1111 0100 Số nguyên tương ứng:-12 Mơ số phép tốn hệ nhị phân: cộng, trừ, nhân, chia Viết đoạn chương trình C++ để in (ở dạng nhị phân dạng số 10) số bé số lớn kiểu số nguyên ngơn ngữ C++ Viết đoạn chương trình C++ để thử nghiệm trả lời kết sau: a Khi gán x=a, với a số vượt ngoại phạm vi biến nguyên x kết nhận nào? Bộ mơn Mạng máy tính & Viễn thơng – Khoa CNTT – Trường ĐH KHTN TPHCM -1 - HDTH môn Kiến trúc máy tính & Hợp Ngữ Khảo sát số nguyên b Khi gán x=y, với y biến nguyên khác kiểu có giá trị vượt ngồi phạm vi chứa biến ngun x kết nhận nào? c Khi gán x=p+q+r, với x kiểu long, p kiểu int, q kiểu unsigned int, r kiểu unsigned char, giá trị lớn / nhỏ mà x nhận bao nhiêu? Giá trị có ảnh hưởng thay đổi thứ tự p, q, r biểu thức tính tổng không? Hướng dẫn Chuyển số thập phân sang số nhị phân Nguyên tắc phương pháp lấy số cần chuyển đổi chia cho (kết lấy phần nguyên), sau tiếp tục lấy kết chia (và lấy phần nguyên), kết số nhị phân thu tập hợp số dư phép chia + Ví dụ1: Chuyển số 118 sang nhị phân + Bước 1: Kiểm tra số âm hay dương + Bước 2: Chuyển số nguyên dương sang nhị phân Phép tính Số dư 118 ÷ = 59 59 ÷ = 29 29 ÷ = 14 14 ÷ = 7÷2=3 3÷2=1 1÷2=0 Kết luận: nhị phân 118 là: 00 0111 01102 + Ví dụ2: Chuyển số -118 sang nhị phân + Bước 1: Kiểm tra số âm hay dương + Bước 2: Chuyển phần dương sang nhị phân, 00 0111 01102 + Bước 3: Đảo tất bit nhận bước Kết sau đảo là:11 1000 10012 + Bước 4: Cộng thêm vào kết thu bước 3; kết sau cộng: 11 1000 10102 Kết luận: nhị phân -118 là: 11 1000 10102 Chuyển số nhị phân sang thập phân Để biến đổi số nhị phân sang hệ thập phân, chúng làm ngược lại Bắt đầu từ bên trái, nhân đôi kết quả, cộng số bên cạnh khơng cịn số + Ví dụ1: Chuyển số nhị phân 00 0100 01112 sang thập phân + Bước 1: Kiểm tra bit đầu số nhị phân Nếu số dương, số âm + Bước 2: Chuyển sang hệ thập phân Số thập phân kết tổng tích kí tự nhị phân x lũy thừa vị trí Tức là: 0x29 + 0x28 + 0x27 + 1x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 1x20 = 64 + + + + + + = 71 Kết luận: Thập phân 0100 01112 71 + Ví dụ 2: Chuyển số nhị phân 11 1011 10012 sang thập phân + Bước 1: Kiểm tra dấu số nhị phân Nếu số dương, số âm + Bước 2: Trừ số nhị phân; kết quả: 11 1011 10002 + Bước 3: Đảo tất bit thu bước Kết sau đảo là:00 0100 01112 + Bước 4: Chuyển bit nhận bước sang hệ thập phân Số thập phân kết tổng tích kí tự nhị phân x lũy thừa vị trí Bộ mơn Mạng máy tính & Viễn thơng – Khoa CNTT – Trường ĐH KHTN TPHCM - -2 HDTH mơn Kiến trúc máy tính & Hợp Ngữ Khảo sát số nguyên Tức là: 0x29 + 0x28 + 0x27 + 1x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 1x20 = 64 + + + + + + = 71 Kết luận: Thập phân 11 1011 10012 -71 Các phép tính dùng hệ nhị phân a Tính cộng 0+0=0 0+1=1 1+0=1 + = 10 (nhớ lên hàng thứ 2) Ví dụ: 1 1 1 1 + 1 1 = 0 0 (nhớ) b Tính trừ 0−0=0 − = −1 (mượn) 1−0=1 1−1=0 Ví dụ: * * * * (hình đánh dấu cột phải mượn) 1 1 − 1 1 -= 1 1 c Tính nhân (AxB) Vì có số hệ nhị phân, nên có kết khả quan tích cục bộ:  Nếu số B 0, tích cục  Nếu số B 1, tích cục số A Ví dụ: 1 × 1 0 0 + 1 + 0 0 + 1 = 1 1 (A) (B) ← tương đương với B ← tương đương với A d Tính chia Tính chia nhị phân tương tự phép chia hệ thập phân Ví dụ: 1 1 | 1 1 − 1 1 − 0 1 − 1 Bộ mơn Mạng máy tính & Viễn thơng – Khoa CNTT – Trường ĐH KHTN TPHCM - -3 HDTH môn Kiến trúc máy tính & Hợp Ngữ Khảo sát số nguyên Mở rộng Tìm hiểu khái niệm lề biến (word align) Trong Visual Studio từ khoá làm việc này? Biểu diễn số nguyên phạm vi lớn Bộ mơn Mạng máy tính & Viễn thông – Khoa CNTT – Trường ĐH KHTN TPHCM - -4

Ngày đăng: 08/04/2023, 06:22

w