Hãy bắt đầu bằng cách tóm tắt các kiểu dữ liệu nguyên thủy của Java:
byte : Kiểu dữ liệu byte là một số nguyên bổ sung 8 bit có dấu của hai .
Ngắn : Kiểu dữ liệu ngắn là số nguyên bổ sung 16 bit có dấu của hai .
int: Kiểu dữ liệu int là số nguyên bổ sung 32-bit có dấu của hai .
long: Kiểu dữ liệu dài là số nguyên bổ sung 64 bit có dấu của hai .
float: Kiểu dữ liệu float là một dấu chấm động IEEE 754 32 bit chính xác đơn .
double : kiểu dữ liệu kép là dấu phẩy động IEEE 754 64 bit chính xác kép .
boolean: kiểu dữ liệu boolean đại diện cho một bit thông tin .
char:kiểu dữ liệu char char là một ký tự Unicode 16-bit .
Nguồn
Bổ sung của hai
"Ví dụ điển hình là từ wiki rằng mối quan hệ với phần bù của hai được nhận ra bằng cách lưu ý rằng 256 = 255 + 1 và (255 - x) là phần bù của x
0000 0111 = 7 phần bù của hai là 1111 1001 = -7
cách nó hoạt động là MSB (bit quan trọng nhất) nhận giá trị âm nên trong trường hợp trên
-7 = 1001 = -8 + 0+ 0+ 1
Số nguyên dương thường được lưu trữ dưới dạng số nhị phân đơn giản (1 là 1, 10 là 2, 11 là 3, v.v.).
Các số nguyên âm được lưu trữ dưới dạng phần bù của hai giá trị tuyệt đối của chúng. Phần bù của hai số dương khi sử dụng ký hiệu này là số âm.
Nguồn
Vì tôi đã nhận được một vài điểm cho câu trả lời này, tôi quyết định bổ sung thêm thông tin cho nó.
Một câu trả lời chi tiết hơn:
Trong số khác, có bốn cách tiếp cận chính để biểu diễn số dương và số âm trong hệ nhị phân, đó là:
- Tầm quan trọng đã ký
- Sự bổ sung của một
- Sự bổ sung của hai
- Thiên kiến
1. Độ lớn đã ký
Sử dụng bit quan trọng nhất để biểu diễn dấu hiệu, các bit còn lại được sử dụng để biểu diễn giá trị tuyệt đối. Trong đó 0 đại diện cho một số dương và 1 đại diện cho một số âm , ví dụ:
1011 = -3
0011 = +3
Biểu diễn này đơn giản hơn. Tuy nhiên, bạn không thể thêm số nhị phân giống như cách bạn thêm số thập phân, điều này khó thực hiện hơn ở cấp phần cứng. Hơn nữa, cách tiếp cận này sử dụng hai mẫu nhị phân để đại diện cho 0, 100 ... 0 và 0 .... 0.
2. Sự bổ sung của một
Trong biểu diễn này, chúng tôi đảo ngược tất cả các bit của một số nhất định để tìm ra phần bù của nó. Ví dụ:
010 = 2, so -2 = 101 (inverting all bits).
Vấn đề của biểu diễn này là vẫn tồn tại hai mẫu bit để biểu diễn 0 (00..0 và 11..1)
3. Sự bổ sung của hai
Để tìm số âm của một số, trong biểu diễn này, chúng tôi đảo ngược tất cả các bit và sau đó thêm một bit. Thêm một bit giải quyết vấn đề có hai mẫu bit đại diện cho 0. Trong biểu diễn này, chúng ta chỉ có một (00 ... 0).
Ví dụ, chúng ta muốn tìm biểu diễn âm nhị phân của 4 (thập phân) bằng cách sử dụng 4 bit. Đầu tiên, chúng tôi chuyển đổi 4 thành nhị phân:
4 = 0100
sau đó chúng tôi đảo ngược tất cả các bit
0100 -> 1011
cuối cùng, chúng tôi thêm một chút
1011 + 1 = 1100.
Vì vậy, 1100 tương đương với -4 ở dạng thập phân nếu chúng ta đang sử dụng biểu diễn nhị phân Bổ sung Hai với 4 bit.
Một cách nhanh hơn để tìm phần bổ sung là cố định bit đầu tiên là giá trị 1 và đảo các bit còn lại. Trong ví dụ trên, nó sẽ giống như sau:
0100 -> 1100
^^
||-(fixing this value)
|--(inverting this one)
Biểu diễn bổ sung của Two, ngoài việc chỉ có một biểu diễn cho 0, nó còn thêm vào hai giá trị nhị phân theo cách giống như ở dạng thập phân, số chẵn có các dấu khác nhau. Tuy nhiên, cần phải kiểm tra các trường hợp tràn.
4. Sự thiên vị
Biểu diễn này được sử dụng để biểu diễn số mũ trong tiêu chuẩn IEEE 754 cho dấu chấm động. Nó có ưu điểm là giá trị nhị phân với tất cả các bit đến 0 đại diện cho giá trị nhỏ nhất. Và giá trị nhị phân với tất cả các bit đến 1 đại diện cho giá trị lớn nhất. Như tên cho biết, giá trị được mã hóa (dương hoặc âm) ở dạng nhị phân với n bit có độ lệch (thường là 2 ^ (n-1) hoặc 2 ^ (n-1) -1).
Vì vậy, nếu chúng ta đang sử dụng 8 bit, giá trị 1 ở dạng thập phân được biểu diễn ở dạng nhị phân sử dụng độ lệch 2 ^ (n-1), bởi giá trị:
+1 + bias = +1 + 2^(8-1) = 1 + 128 = 129
converting to binary
1000 0001