0110 0010 là 2 + 32 + 64 = 98
-98 + -60 = 98
ghi thêm chú thích là overflow.
nếu để ý thì sẽ thấy 158 + 98 = 256 = 28. Để tính nhanh -158 bằng bao nhiêu khi tràn số thì cộng thêm 28 vào. Tương tự 158 thì trừ 28. Với số 8-bit thì 0 cũng chính là 256. Cộng 256 cũng là cộng 0. Trừ 256 cũng là trừ 0. Nếu số nào nằm ngoài giới hạn thì cứ cộng “0” hoặc trừ “0” vào cho tới khi nào nó nằm trong giới hạn đó là được.
trục số của số 8-bit ko dấu là
0 1 2 … 126 127 128 129 130 … 254 255 0
trục số của số 8-bit có dấu là
0 1 2… 126 127 -128 -127 -126 … -2 -1 0
số -158 cách bên trái số -128 30 số, hay cách số 127 29 số về bên trái => -158 = 127 - 29 = 98
đề cho vậy có lẽ là để hiểu vụ tràn số là như thế nào đó. Tràn số xảy ra khi cộng 2 số dương ra kết quả là số âm, hoặc cộng 2 số âm ra kết quả là số dương. Hay lấy số dương trừ số âm ra số âm, số âm trừ số dương ra số dương. -98 + -60 = 98 tức là tràn số: tổng 2 số âm lại ra kết quả số dương.