Phần 1 : cơ chế lưu trữ & kích thước bộ nhớ.
Như chúng ta đã biết, trong máy tính tất cả kiểu dữ liệu đều là một dãy các bit. Với mỗi bit, chúng ta sẽ có 2 trạng thái 0 và 1 (on/off).
Như vậy :
- Với mỗi 1 bit, có thể biểu diễn được 2 trạng thái : 0 và 1 (2^1 trạng thái)
- Với 2 bit, ta có thể biểu diễn được 4 trạng thái : 00, 01, 10, 11 (2^2 trạng thái)
- Với 3 bit, ta có thể biểu diễn được 8 trạng thái : (2^3 trạng thái)
- 000, 001, 010, 011
- 100, 101, 110, 111
Để hiểu rõ hơn, các bạn nên tham khảo qua về hệ nhị phân : https://vi.wikipedia.org/wiki/H%E1%BB%87_nh%E1%BB%8B_ph%C3%A2n. Vì trong khuôn khổ bài viết không cho phép, mình chỉ trình bày sơ qua về cách biểu diễn dữ liệu trong máy tính.
Phần 2 : Các kiểu dữ liệu nguyên thủy.
Data Type
|
Size
|
Min
|
Max
|
Default
|
byte
|
8 bit
|
-128
|
127
|
0
|
short
|
16 bit
|
-32,768 (-2^15)
|
32,767 (2^15 -1)
|
0
|
int
|
32 bit
|
- 2,147,483,648 (-2^31)
|
2,147,483,647 (2^31 -1)
|
0
|
long
|
64 bit
|
-2^63
|
2^63 -1
|
0
|
float
|
32 bit
|
0x0.000002P-126f
|
0x1.fffffeP+127f
|
0.0f
|
double
|
64 bit
|
4.9e-324
|
1.7976931348623157e+308
|
0.0d
|
char
|
16 bit
|
0
|
65,535
|
\u0000
|
boolean
|
1 bit
|
false
|
* Lưu ý :
- Các kiểu dữ liệu nguyên thủy khi khao báo thì luôn luôn có giá trị khởi tạo mặc định, và không có khái niệm null đối với các kiểu dữ liệu nguyên thủy, kể cả kiểu dữ liệu char
- Java không support khái niệm unsigned như C hay những ngôn ngữ khác
Example :
public class TypeJava {
static byte b;
static char c;
static boolean s;
public static void main(String[] args) {
b++;
System.out.println(b);
System.out.println(c);
System.out.println(s);
}
}
Output
1
1.0
false
Nếu bài viết có gì sai sót, mong các bạn góp ý. Thank
Không có nhận xét nào:
Đăng nhận xét