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ả

Hướng dẫn toàn bộ cách đưa dữ liệu cảm biến DHT11 / DHT22 lên Firebase và làm giao diện Webapp với iNut Platform

Firebase là một dịch vụ database thời gian thực miễn phí (100MB), rất phù hợp để các bạn lưu trữ dữ liệu của mình trong các dự án nhỏ như đồ án môn học, luận văn,.. Với Firebase, chúng ta dễ dàng lưu trữ giá trị nhiệt độ, độ ẩm một cách dễ dàng. Bạn có thể xem lại dữ liệu của mình (theo một giới hạn nào đó) bằng bất cứ cách gì bạn muốn. Đối với lĩnh vực Internet of Things, Firebase giúp bạn dễ dàng làm một bản cơ sở dữ liệu đơn giản mà không yêu cầu bạn biết bất cứ một thứ gì về cơ sở dữ liệu.

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