Hằng số nguyên

Giới thiệu

Hằng số nguyên là những con số được sử dụng trực tiếp trong chương trình. Theo mặc định, những con số này có kiểu là int (trong pascal thì kiểu int giống như kiểu integer).

Ví dụ

if (a >= 10) {
    a = 0;
}

Ở đây 0 và 10 được gọi là những hằng nguyên.

 

Thông thường, các hằng số nguyên được biểu thị dưới dạng thập phân, nhưng bạn có thể biểu thị chúng trong các hệ cơ số khác như sau:

Hệ cơ số
Ví dụ
Định dạng
Ghi chú
10 (thập phân)
159
 
biểu thị bằng các chữ số từ 0 đến 9
2 (nhị phân)
B1111011
bắt đầu bằng 'B' (hoặc '0B')
biểu thị bằng 2 chữ số 0 và 1
8 (bát phân)
0173
bắt đầu bằng '0'
biểu thị bằng các chữ số từ 0-7
16 (thập lục phân)
0x7B
bắt đầu bằng '0x'
biểu thị bằng các chữ số từ 0-9 và kí tự từ A-F (hoặc a-f)

 

Hệ thập phân (decimal) là hệ cơ số 10, cũng là hệ cơ số được dùng phổ biến nhất.

Ví dụ:

int a = 101;     // có giá trị là 101 ở hệ thập phân  ((1 * 10^2) + (0 * 10^1) + 1)

 

Hệ nhị phân (binary) là hệ cơ số 2, chỉ được biểu thị bởi 2 chữ số "0" và "1", có tiền tố "B" (đôi khi là "0B") đứng đầu

Ví dụ:

int a = B101;    // có giá trị là 5 ở hệ thập phân   ((1 * 2^2) + (0 * 2^1) + 1)

Các định dạng nhị phân chỉ hoạt động trên byte (8 bit) giữa 0 (B0) và 255 (B11111111). Nếu muốn sử dụng hệ nhị phân trên một số nguyên int (16 bít) thì bạn phải thực hiện quy trình 2 bước như sau:

long myInt = (B11100000 * 256) + B11111111; // myInt = B1110000011111111

 

Hệ bát phân (octal) là hệ cơ số 8, chỉ dùng các chữ số từ 0-7 để biểu thị, có tiền tố "0" đứng đầu

int a = 0101;    // có giá trị là 65 ở hệ thập phân   ((1 * 8^2) + (0 * 8^1) + 1) 

Chú ý:

Rất khó để tìm lỗi một cách dễ dàng nếu bạn không cẩn thận hoặc không thành thạo trong việc sử dụng hệ bát phân.

Lý do là giả sử bạn muốn khai báo một hằng số nguyên ở hệ thập phân ví dụ 161, nhưng do chưa đọc bài này nên bạn "chơi trội" đặt thêm số 0 phía trước. => chương trình dịch hiểu sai hệ số bạn đang sử dụng => sinh ra lỗi logic khiến chương trình chạy sai.

 

Hệ thập lục phân (hexadecimal) là hệ cơ số 16, chỉ dùng các chữ số từ 0-9 và A-F (hoặc a-f) để biểu thị; A đại diện cho 10, B là 11, lên đến F là 15. Các chữ số dùng ở hệ này có tiền tố "0x" đứng trước

Ví dụ:

int a = 0x101;   // có giá trị là 257 trong hệ thập phân   ((1 * 16^2) + (0 * 16^1) + 1)
 

Hậu tố U và L

Theo mặc định, một hằng số nguyên được coi là một số nguyên kiểu int với những hạn chế trong giao tiếp giữa các giá trị. Để xác định một hằng số nguyên với một kiểu dữ liệu khác, bạn phải tuân theo quy tắc sau:

  • Dùng 'u' hoặc 'U' để biểu thị kiểu dữ liệu unsigned (không âm). Ví dụ: 33u
  • Dùng 'l' hoặc 'L' để biểu thị kiểu dữ liệu long. Ví dụ: 100000L
  • Dùng 'ul' hoặc 'UL' để biểu thị kiểu dữ liệu unsigned long. Ví dụ: 32767ul
Reference Tags: 
lên
5 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Sự sáng tạo qua các phiên bản phần cứng của mạch tự động Arduino

Trong bài viết ngày hôm nay, chúng ta sẽ tìm hiểu về lịch sử sáng tạo của mạch tự động Arduino qua các phiên bản mạch. Từ đó, tôi mong muốn bạn tìm được sự sáng tạo trong chính lịch sự của sự phát triển của Arduino. Bài viết này có thể chưa mô tả được hết sự sáng tạo, có thể nó chưa làm hài lòng mong đợi của bạn về sự sáng tạo, nhưng nó sẽ là một ghi chú hữu ích cho sự phát triển trong việc sáng tạo của riêng cá nhân / tổ chức của bạn.

lên
16 thành viên đã đánh giá bài viết này hữu ích.

Đặt áo Cộng đồng Arduino Việt Nam ngay hôm nay :)

Nhằm mục đích xây dựng Cộng đồng của chúng ta ngày càng lớn mạnh, BQT đã họp và đưa ra quyết định phát hành áo của Cộng đồng. Đây sẽ là chiếc chìa khóa vàng để anh em chúng ta nhận ra nhau và xây dựng các mối quan hệ trong thế giới thực. Ngoài ra, cứ mỗi chiếc áo được bán ra, toàn bộ phần lợi nhuận thu được sẽ được trích ra để truy trì máy chủ và tên miền của cộng đồng. Ngoài ra, tùy thuộc vào tình hình bán áo, chúng ta sẽ tổ chức offline tại thành phố Hồ Chí Minh dưới hình thức một buổi workshop.

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: