✪ Với n bit dùng để biểu diễn số nguyên ta có thể biểu diễn được 2n số nguyên, trong đó:
● Dải số nguyên có dấu là : [-2
n-1;2
n-1-1]
● Dải số nguyên không dấu là : [0;2
n-1]
✪ Trục số học của máy tính biểu diễn số nguyên là một vòng tròn số với 2n vạch chia.
Từ vạch số 0 đi thuận chiều kim đồng hồ để tăng dần giá trị, ngược chiều kim đồng hồ để giảm dần giá trị.
Nếu giá trị cao (hoặc bé) vượt quá 1 vòng tròn 2
n vạch thì ta vẫn tiếp tục đi theo vòng tròn trục số. Khi đó giá trị hiển thị ra kết quả luôn nằm trong dải số trên vạch chia của đường tròn
✪ Ví dụ với 8 bit biểu diễn số nguyên
● Dải số nguyên có dấu là : [-128;127]
● Dải số nguyên không dấu là : [0;255]
● Vòng tròn trục số là:
Ta thấy nếu giá trị nhập vào có lớn hay bé đến đâu đi nữa thì vòng tròn trục số vẫn cứ quay đi quay lại.
_Với dải số có dấu nếu đưa vào giá trị là 128 thì kết quả hiển thị là -128, vì bình thường liền sau 127 là 128 nhưng liền sau 127 trên trục số tròn theo ví dụ trên là -128. Tương tự nếu nhập vào 129 thì kết quả hiển thị là -127.
_Với dải số không dấu nếu nhập vào giá trị 256 thì kết quả hiển thị là 0, vì bình thường liền sau 255 là 256 nhưng liền sau 255 trên trục số tròn theo ví dụ trên là 0. Tương tự nếu nhập vào -1 thì kết quả hiển thị là 255, vì liền trước 0 là 255.
(Đấy chỉ là với ví dụ 8 bit, với n bit bất kì dải số số sẽ là khác nhau. Các bạn cứ đi theo vòng tròn trục số để xác định các số tăng và giảm dần)
✪Lý thuyệt vậy là được rồi, đi vào làm bài tập ví dụ trong sách bài tập nào:
Dạng bài : Đưa vào một giá trị tìm kết quả hiển thị ra ngoài màn hình.
●
Các bước làm bài :
_Bước 1: Xác định dải số
_Bước 2: Tính giá trị đưa vào một cách bình thường
_Bước 3:
+Nếu giá trị tính được nằm trong dải số thì kết quả hiển thị đúng giá trị đó.
+Nếu giá trị tính được lớn hơn dải số thì ta lấy giá trị đó trừ đi 2
n (Với n là số bit đề đã cho). Cứ trừ đi 2
n cho đến khi giá trị thu được thuộc dải số thì ngừng lại. Đó chính là kết quả hiển thị.
+Nếu giá trị tính được nhỏ hơn dải số thì ta lấy giá trị đó cộng thêm 2
n (Với n là số bit đề đã cho). Cứ cộng với 2
n cho đến khi giá trị thu được thuộc dải số thì ngừng lại. Đó chính là kết quả hiển thị.
● Tóm gọn lại thì là: (Cái tóm gọn này không hiểu thì không nên cố đọc nha)
Out=In + a.2n
Với
Out là kết quả hiển thị
In là giá trị nhập vào
n là số bit đề cho
a là số nguyên thỏa mãn
Out thuộc dải số
●
Ví dụ 1:
Cho 2 giá trị A= 195, B=143 được biểu diễn dưới dạng số nguyên không dấu 8 bit trong máy tính. Kết quả phép toán A+B mà máy tính hiển thị là bao nhiêu?
(Bài 40 sách bài tập Tin học đại cương HUST, trang 10)
_Vì là số nguyên không dấu 8 bit nên dải số là [0;255]
_Giá trị vào A+B=195+143=338
_Vì 338 > 255 (lớn hơn dải số) nên ta có:
338-2
8=338-256=82 ∈ [0;255]
Vậy kết quả hiển thị là 82
●
Ví dụ 2:
Cho 2 giá trị A= +95, B=+43 được biểu diễn dưới dạng số nguyên có dấu 8 bit trong máy tính. Kết quả phép toán A+B mà máy tính hiển thị là bao nhiêu?
(Bài 41 sách bài tập Tin học đại cương HUST, trang 10)
_Vì là số nguyên có dấu 8 bit nên dải số là [-128;127]
_Giá trị vào A+B=95+43=138
_Vì 138 > 127 (lớn hơn dải số) nên ta có:
138-2
8=138-256=-118 ∈ [-128;127]
Vậy kết quả hiển thị là -118
●
Ví dụ 3:
Cho 2 giá trị A= +95, B=-43 được biểu diễn dưới dạng số nguyên có dấu 8 bit trong máy tính. Kết quả phép toán A-B mà máy tính hiển thị là bao nhiêu?
(Bài 42 sách bài tập Tin học đại cương HUST, trang 11)
_Vì là số nguyên có dấu 8 bit nên dải số là [-128;127]
_Giá trị vào A+B=95-(-43)=138
_Vì 138 > 127 (lớn hơn dải số) nên ta có:
138-2
8=138-256=-118 ∈ [-128;127]
Vậy kết quả hiển thị là -118
●
Ví dụ 4:
Cho 2 giá trị A= -43, B=-95 được biểu diễn dưới dạng số nguyên có dấu 8 bit trong máy tính. Kết quả phép toán A+B mà máy tính hiển thị là bao nhiêu?
(Bài 43 sách bài tập Tin học đại cương HUST, trang 11)
_Vì là số nguyên có dấu 8 bit nên dải số là [-128;127]
_Giá trị vào A+B=-43+(-95)=-138
_Vì -138 < -128 (bé hơn dải số) nên ta có:
-138+2
8=-138+256=+118 ∈ [-128;127]
Vậy kết quả hiển thị là +118
●
Ví dụ 5:
Cho 2 giá trị A= 5, B=6 được biểu diễn dưới dạng số nguyên có dấu 4 bit trong máy tính. Kết quả phép toán 2*A+6*B mà máy tính hiển thị là bao nhiêu?
_Vì là số nguyên có dấu 4 bit nên dải số là [-8;7]
_Giá trị vào 2*A+6*B=10+36=46
_Vì 46 > 7 (lớn hơn dải số) nên ta có:
46-2
4=46-16=30 > 7 (lớn hơn dải số)
30-2
4=30-16=14 > 7 (lớn hơn dải số)
14-2
4=14-16=-2 ∈ [-8;7]
Vậy kết quả hiển thị là -2
(Ta thấy bài trên giá trị vào lớn hơn dải số nên ta cứ lấy trừ đi 2n cho đến khi nào giá trị thu được thuộc dải số thì ngừng)
●
Ví dụ 6:
Cho 2 giá trị A= 12, B=6 được biểu diễn dưới dạng số nguyên không dấu 4 bit trong máy tính. Kết quả phép toán A-7*B mà máy tính hiển thị là bao nhiêu?
_Vì là số nguyên không dấu 4 bit nên dải số là [0;15]
_Giá trị vào A-7*B=12-42=-30
_Vì -30 < 0 (bé hơn dải số) nên ta có:
-30+2
4=-30+16=-14 < 0 (bé hơn dải số)
-14+2
4=-14+16=2 ∈ [0;15]
Vậy kết quả hiển thị là 2
(Ta thấy bài trên giá trị vào bé hơn dải số nên ta cứ lấy cộng với 2n cho đến khi nào giá trị thu được thuộc dải số thì ngừng)
Có thể bạn quan tâm