Câu 1:
2 byte = 16 bit
Ta có 2 cách để biểu diễn số:
- Số nguyên có dấu (signed)
Ta sử dụng bit cao nhất (bit 15) làm dấu (bit 1 cho âm, bit 0 cho dương) và 15 bit còn lại làm giá trị.
Giá trị nhị phân lớn nhất biểu diễn bởi 15 bit là [TEX]111111111111111[/TEX], tương ứng với số thập phân [TEX]32767[/TEX].
Lần lượt thêm các bit 1 và 0 theo quy tắc trên, ta được các số [TEX]1111111111111111_2=-32768_{10}[/TEX] và [TEX]0111111111111111_2=32767_{10}[/TEX].
Do đó các số được biểu diễn nằm trong khoảng [TEX][-32768, 32767][/TEX].
- Số nguyên không dấu (unsigned)
Ta sử dụng hết cả 16 bit làm giá trị của số.
Giá trị nhị phân lớn nhất biểu diễn được với 16 bit là [TEX]1111111111111111[/TEX], tương ứng với số thập phân [TEX]65535[/TEX] (và tất nhiên số nhỏ nhất là toàn các bit 0, tương ứng với số 0)
Do đó các số được biểu diễn nằm trong khoảng [TEX][0, 65535][/TEX].
Câu 2: (mình sẽ làm ngược lại yêu cầu để dễ giải)
Đổi [TEX]x =100_{16}=256_{10}[/TEX]
Do [TEX]256=2^8[/TEX] nên [TEX]256_{10}=100000000_2[/TEX].
Số được thể hiện với 9 bit, tức ta cần có ít nhất 2 byte (16 bit) để biểu diễn số trên.
Chúc bạn học tốt nha ^^