Integer Constants
Integer Constants trong Arduino
Integer Constants trong Arduino là các giá trị số nguyên được định nghĩa trực tiếp trong mã chương trình. Chúng biểu diễn các con số không có dấu thập phân và có thể được sử dụng ở nhiều ngữ cảnh khác nhau như thiết lập biến, thực hiện tính toán, hoặc định nghĩa các hằng số.
1. Các kiểu Integer Constants
Arduino hỗ trợ các kiểu số nguyên khác nhau, bao gồm:
a. Decimal (Hệ thập phân)
- Các số nguyên thông thường, được viết dưới dạng cơ số 10.
- Không có tiền tố đặc biệt.
- Ví dụ:
int myNumber = 100; // Decimal constant
b. Binary (Hệ nhị phân)
- Các số nguyên được viết ở dạng nhị phân (0 và 1).
- Sử dụng tiền tố
0b
hoặc0B
. - Ví dụ:
int myBinary = 0b1010; // Binary constant (tương ứng 10 trong thập phân)
c. Octal (Hệ bát phân)
- Các số nguyên được viết ở dạng cơ số 8 (0-7).
- Sử dụng tiền tố
0
. - Ví dụ:
int myOctal = 012; // Octal constant (tương ứng 10 trong thập phân)
d. Hexadecimal (Hệ thập lục phân)
- Các số nguyên được viết ở dạng cơ số 16 (0-9 và A-F).
- Sử dụng tiền tố
0x
hoặc0X
. - Ví dụ:
int myHex = 0x1A; // Hexadecimal constant (tương ứng 26 trong thập phân)
2. Kích thước và kiểu của Integer Constants
Arduino hỗ trợ các kiểu dữ liệu số nguyên với kích thước khác nhau, cụ thể:
Kiểu dữ liệu | Kích thước | Phạm vi giá trị |
---|---|---|
byte | 8-bit | 0 đến 255 |
int | 16-bit | -32,768 đến 32,767 |
unsigned int | 16-bit | 0 đến 65,535 |
long | 32-bit | -2,147,483,648 đến 2,147,483,647 |
unsigned long | 32-bit | 0 đến 4,294,967,295 |
3. Biểu diễn ký tự cho Integer Constants
Bạn có thể sử dụng các ký tự hậu tố để xác định kiểu của số nguyên:
U
hoặcu
: Xác định là unsigned.L
hoặcl
: Xác định là long.UL
,ul
,LU
,lu
: Xác định là unsigned long.
Ví dụ:
unsigned int myNumber = 100U; // Xác định là unsigned int
long myBigNumber = 100000L; // Xác định là long
unsigned long myVeryBig = 100000UL; // Xác định là unsigned long
4. Sử dụng Integer Constants
Integer Constants thường được sử dụng để:
- Định nghĩa hằng số:
const int ledPin = 13; // Số chân LED
- Thực hiện tính toán:
int result = 5 + 10; // Kết quả là 15
- Cấu hình thiết bị:
analogWrite(ledPin, 255); // Điều chỉnh độ sáng LED
5. Một số lưu ý khi dùng Integer Constants
-
Tràn số: Nếu bạn gán một giá trị vượt quá phạm vi của kiểu dữ liệu, kết quả có thể không như mong đợi.
int myNumber = 40000; // Giá trị này vượt phạm vi của int (16-bit)
-
Cần đúng kiểu: Nếu bạn sử dụng số nguyên lớn mà không xác định hậu tố kiểu, có thể xảy ra lỗi.
unsigned long bigNumber = 4294967296; // Lỗi, vì số này vượt phạm vi của int.
Ví dụ thực tế:
const int ledPin = 13; // Hằng số đại diện cho chân LED
const unsigned long delayTime = 1000UL; // Thời gian trễ 1 giây
void setup() {
pinMode(ledPin, OUTPUT); // Thiết lập chân LED là đầu ra
}
void loop() {
digitalWrite(ledPin, HIGH); // Bật LED
delay(delayTime); // Trì hoãn 1 giây
digitalWrite(ledPin, LOW); // Tắt LED
delay(delayTime); // Trì hoãn 1 giây
}