2010-09-29 23 views
7

thể trùng lặp:
What is "2's Complement"?Tại sao int32 có giá trị tối đa 2^31 -1

Tôi biết int32 là có chiều dài 32 bit (4 byte). Tôi giả sử nó có 2^32 giá trị nhưng một nửa trong số chúng cần phải dưới 0, tôi đoán nó có liên quan đến điều này. Tôi muốn biết tại sao chính xác int32 có tối đa. số dương 2^31 -1.

+0

trùng lặp của [Tại sao giá trị lớn nhất của số nguyên n bit không dấu 2^n-1 và không phải 2^n?] (Https://stackoverflow.com/questions/5771520/why-is-the-maximum -giá trị-of-an-unsigned-n-bit-số nguyên-2n-1-và-không-2n) –

Trả lời

23

2^32 giá trị có thể

− 2^31 giá trị sử dụng cho negative integers

− 1 giá trị sử dụng cho zero

= 2^31 − 1 giá trị có sẵn cho số nguyên dương

33

Bit quan trọng nhất này được sử dụng để mã ký hiệu (1 có nghĩa là âm), vì vậy chỉ có 31 bit có sẵn cho giá trị thực tế.

Int32.MaxValue = 2^31 - 1 = 01111111111111111111111111111111 
        1  = 00000000000000000000000000000001 
        0  = 00000000000000000000000000000000 
       -1  = 11111111111111111111111111111111 
Int32.MinValue = -2^31  = 10000000000000000000000000000000 
0

Bạn có 2^31 giá trị dưới 0 (giá trị tối thiểu = -2^31), 2^31-1 giá trị trên 0 và 0. Điều đó làm cho 2^31 + 2^31-1 + 1 = 2 * 2^31 = 2^32 giá trị :) ...

Giải thích khác liên quan đến cách thức các số âm được biểu diễn (sử dụng hai bổ sung): Ngắn gọn, bit quan trọng nhất cho biết số âm, vì vậy bạn có 2^31 số dương (bao gồm số không) bên trái, cho chúng ta phạm vi 0..2^31-1

4

2^32 là về 4,2 tỷ. Đây là số lượng tối đa VALUES mà một số nhị phân có 32 chữ số (số 32 bit) có thể đại diện.

Các giá trị đó có thể là bất kỳ giá trị nào trong bất kỳ phạm vi nào. Trong một số 32 bit không hợp lệ, các giá trị hợp lệ là từ 0 đến 2^32-1 (thay vì 1 đến 2^32, nhưng số lượng VALUES tương đương, khoảng 4,2 tỷ).

Trong số 32 bit đã ký, một trong 32 bit được sử dụng để cho biết số có âm hay không. Điều này làm giảm số lượng giá trị bằng 2^1 hoặc một nửa. Con số này là 2^31, tức là khoảng 2,1 tỷ. Điều này có nghĩa là phạm vi hiện tại khoảng -2,1 tỷ đến 2,1 tỷ. Cùng một số giá trị, phạm vi khác nhau.

Các vấn đề liên quan