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ặc 0B.
  • 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ặc 0X.
  • 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ặc u: Xác định là unsigned.
  • L hoặc l: 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 để:

  1. Định nghĩa hằng số:
    const int ledPin = 13;  // Số chân LED
  2. Thực hiện tính toán:
    int result = 5 + 10;  // Kết quả là 15
  3. 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
}