Kiểu Boolean chiếm bao nhiêu byte bộ nhớ

Nội dung bài học Một số kiểu dữ liệu chuẩn dưới đây sẽ giúp các em biết được các kiểu dữ liệu chuẩn dùng để làm gì?, bộ lưu trữ một giá trị và phạm vi sử dụng của một số kiểu dữ kiệu chuẩn như kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic. Mời các em cùng theo dõi bài học.

ANYMIND360

YOMEDIA

 

Tóm tắt lý thuyết

Kiểu dữ liệu chuẩn là một tập hữu hạn các giá trị. Mỗi kiểu dữ liệu cần một dung lượng bộ nhớ cần thiết để lưu trữ và xác định các phép toán có thể tác động lên dữ liệu. Một số kiểu dữ liệu thường dùng cho biến đơn như sau:

1.1.  Kiểu nguyên

Kiểu nguyên dùng để khai báo các đại lượng nhận giá trị là các số nguyên.

KiểuBộ nhớ lưu trữ một giá trịPhạm vi giá trịByte1 byte

Từ 0 đến 255

Integer2 byte 

Từ -215 đến 215-1

Word2 byte 

Từ 0 đến 216-1

Longint4 byte 

Từ -231 đến 231-1

Bảng 1. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu nguyên

1.2. Kiểu thực

Kiểu thực dùng để khai báo các đại lượng nhận giá trị là các số thực.

Kiểu

Bộ nhớ lưu trữ một giá trị

Phạm vi giá trị

Real

6 byte

0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-38 đến 1038

Extended

10 byte

0 hoặc có giá trị tuyệt đối nằm trong phạm vi từ 10-4932 đến 104932

Bảng 2. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu thực

1.3. Kiểu kí tự

Kiểu kí tự (kiểu có thứ tự, đếm được): là tập giá trị các kí tự trong bộ mã ASCII. Được dùng khi thông tin là các kí tự, xâu (string).

KiểuBộ nhớ lưu trữ một giá trịPhạm vi giá trịChar

1 byte

256 kí tự trong bộ mã ASCII

Bảng 3. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu kí tự

1.4. Kiểu Logic

Kiểu lôgic (kiểu thứ tự đếm được): được dùng khi kiểm tra một điều kiện hoặc tìm giá trị của một biểu thức lôgic.

KiểuBộ nhớ lưu trữ một giá trịPhạm vi giá trịBoolean

1 byte

True hoặc False

Bảng 1. Bộ nhớ lưu trữ một giá trị và phạm vi giá trị của kiểu logic

Bài tập minh họa

Bài tập 1

Chương trình dịch Pascal sẽ cấp phát bao nhiêu Byte bộ nhớ cho khai báo sau:

Var  x : Integer;

       y, z : Real;

       c : Char;

Gợi ý làm bài:

  • Biến x thuộc kiểu Integer => sẽ cấp phát 2 byte bộ nhớ.
  • Biến y, z thuộc kiểu Real => sẽ cấp phát 6 byte + 6 byte = 12 byte bộ nhớ.
  • Biến c  thuộc kiểu Char => sẽ cấp phát 1 byte bộ nhớ.

Vậy cần cấp phát 15 byte bộ nhớ cho khai báo trên.

3. Luyện tập Bài 4 Tin học 11

Sau khi học xong bài này các em cần ghi nhớ các nội dung:

  • Khi viết chương trình bằng ngôn ngữ lập trình nào thì cần tìm hiểu đặc trưng của các kiểu dữ liệu chuẩn được xác định bởi bộ dịch và sử dụng để khai báo biến
  • Mỗi ngôn ngữ lập trình thường cung cấp một số kiểu dữ liệu chuẩn cho biết:
    • Phạm vi giá trị
    • Dung lượng bộ nhớ cần thiểt để lưu trữ
    • Các phép toán có thể tác động lên dữ liệu

3.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 4 cực hay có đáp án và lời giải chi tiết. 

  • Câu 1: Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?VAR    M, N, P : Integer;           A, B: Real;           C: Longint;

    • A. 20 byte
    • B. 24 byte
    • C. 22 byte
    • D. 18 byte
  • Câu 2: Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x? Pascal là một trong những ngôn ngữ lập trình khá quen thuộc đối với những lập trình viên mới học. Bởi vậy, đa số các bạn chưa nắm hết được các kiểu dữ liệu trong pascal, hãy theo dõi bài viết sau để có thể hiểu hơn về ngôn ngữ lập trình cơ bản thường dùng này nhé.Mục lụcTrong pascal có các kiểu dữ liệu chuẩn nào

    Kiểu Boolean chiếm bao nhiêu byte bộ nhớ
    Các kiểu dữ liệu cơ bản trong pascal

    Các kiểu dữ liệu trong pascal đầu tiên phải nói đến là “kiểu dữ liệu chuẩn”. Tổng cộng có 13 loại kiểu dữ liệu chuẩn sau:

    Loại thuộc giá trị thực

    • Real: Có giới hạn từ 11 đến 12 chữ số cơ bản, phạm vi giá trị quy định trong khoảng 2.9e-39..1.7e38.
    • Extended: Giới hạn từ 19 đến 20 chữ số, phạm vi giá trị nằm khoảng 3.4e-4932..1.1e4932.
    • Single: Giới hạn trong khoảng 7 đến 8 chữ số, phạm vi giá trị từ 1.5e-45..3.4e38.
    • Comp: Từ 19 đến 20 chữ số, phạm vi giá trị -9.2e18..9.2e18.
    • Double: Từ 15 đến 16 chữ số nằm trong khoảng 5.0e-324..1.7e308.

    Các kiểu thuộc loại giá trị thực đều chiếm bộ nhớ khá lớn, nên cân nhắc khi sử dụng nếu bạn muốn sản phẩm tốc độ cao.

    Loại giá trị logic

    Một trong các kiểu dữ liệu chuẩn thường được sử dụng nhất, phạm vi giá trị hẹp và tốn ít tài nguyên nhất là kiểu dữ liệu Boolean.

    Đăng ký ngay

    Boolean là kiểu dữ liệu sẽ trả về 2 giá trị duy nhất là đúng (true) hoặc sai (false). Loại dữ liệu này chủ yếu đi cùng các câu điều kiện nhằm để lập trình viên tạo ra những biến số khác nhau bằng cách thay đổi dữ liệu tùy thuộc sự thay đổi biến số từ lập trình viên.

    Boolean có sẵn trong ngôn ngữ lập trình Pascal và Java, hơn nữa, nó còn được xem là ngôn ngữ nguyên thủy của hệ lập trình Java.

    Kiểu Boolean chiếm bao nhiêu byte bộ nhớ
    Kiểu dữ liệu logic Boolean

    Loại giá trị số nguyên

    • Longtin: Với phạm vi giá trị là -2147483648..2147483647.
    • Shortin: Phạm vi giá trị từ -128 đến 127.
    • Integer: phạm vi từ -32768 đến 32767
    • Byte: Phạm vi bắt đầu từ số nguyên là 0 đến 255.
    • Word: Phạm vi tải lớn hơn Byte, từ 0 đến 65535.

    Ngoài ra, các kiểu dữ liệu trong Pascal chuẩn còn có giá trị ký tự (Char) và giá trị xâu chuỗi ký tự (String).

    Trong đó, các kiểu dữ liệu chiếm ít tài nguyên bộ nhớ nhất là Boolean, Shortint, String, Byte, Char, Word và integer phù hợp dùng cho việc cải thiện tốc độ truy vấn của website.

    • Thông tin về các kiểu dữ liệu trong C mà bạn thường gặp

    Chi tiết về các kiểu dữ liệu trong Pascal

    Kiểu logic

    Kiểu dữ liệu logic chỉ có sẵn một loại duy nhất là Boolean. Nó nhận hai kết quả trả về là True và False, ngoài ra, kiểu logic còn có thể sử dụng các phép toán gồm AND, OR, XOR, NOT và các phép so sánh thông thường trong toán.

    Nguyên tắc lưu ý khi so sánh các giá trị trong Boolean luôn là False < True. Ví dụ dễ hiểu về thuật toán này:

    • Bạn muốn lưu giá trị kết quả đúng của một bài toán vào một thời điểm nhất định
    • Tại thời điểm đó chỉ có 2 trường hợp có thể xảy ra là đáp án đúng hoặc sai.
    • Như thế, chỉ cần lưu 1 biến bằng kiểu Boolean thì với giá trị là Đúng còn là đáp án sai.

    Nói chung, kiểu dữ liệu chuẩn logic được dùng bằng Boolean được ứng dụng trong việc đưa ra kết quả khi thực hiện các phép toán và so sánh trong chương trình nhằm phục vụ người dùng lựa chọn chính xác.

    Kiểu số nguyên

    Một trong các kiểu dữ liệu chiếm ít dung lượng bộ nhớ là loại số nguyên, gồm có: Integer, Longint, Shortint, Byte, Word, Smallint, Longword, Int64 và Cardinal. Các kiểu dữ liệu này sử dụng những định dạng khác nhau, nên lập trình viên cần lưu ý mỗi loại.

    • Kiểu định dạng có dấu 64-bit duy nhất chỉ có Int64 với trị tối thiểu là -2^63 và đạt tối đa là 2^63-1.
    • Kiểu định dạng có dấu 32-bit có 2 loại là Integer và Longint với phạm vị giá trị tối đa lên đến 214783647.
    • Kiểu định dạng không dấu 32-bit có 2 loại tương ứng là Cardinal và Longword với phạm vi giá trị tối đa đạt 4294967295.
    • Ngoài ra, còn có kiểu định dạng không dấu 16-bit, có dấu 16-bit, không dấu 8-bit, có dấu 8-bit lần lượt là Word, Smallint, Byte và Short Int.

    Ưu điểm của các kiểu dữ liệu số nguyên là số byte ít, dung lượng không lớn, tải nhanh và ít khó khăn hơn trong việc học.

    Kiểu số thực

    Đây là một trong các kiểu dữ liệu Pascal được đánh giá là có dung lượng lớn dao động từ 4 byte đến 10 byte. Ngoài ra, trái ngược với kiểu Boolean, trên kiểu số thực không cho phép tồn tại các phép toán DIV và MOD nên lập trình viên cần lưu ý.

    • Kiểu dữ liệu có dung lượng lớn nhất là Extended có phạm vi giá trị hoạt động tối thiểu 1.9E-4932 cho đến tối đa 1.1E4932 và lượng chữ số có nghĩa dao động khoảng 19 đến 20 từ.

    Tương tự, kiểu dữ liệu Comp và Currency cũng sở hữu từ 19 đến 20 từ có nghĩa nhưng dung lượng thấp hơn với 8 byte, do đó, bạn cần sử dụng cân nhắc lựa chọn giữa các kiểu sao cho có thể tối ưu sản phẩm lập trình của bạn với dung lượng nhẹ nhất.

    • Các kiểu dữ liệu 8 byte: Double, Currency, Comp và Real. Trong đó, Real có dung lượng từ 4 đến 8 byte và phạm vi giá trị phụ thuộc vào nền tảng sử dụng.
    • Kiểu dữ liệu nhẹ nhất trong số thực là Single và Real chỉ với 4 byte nhưng đồng nghĩa với số lượng chữ số có nghĩa ít hơn.

    Kiểu chữ

    Trong lập trình ngôn ngữ Pascal, không chỉ tồn tại dữ liệu kiểu số khô khan mà còn có các dữ liệu kiểu chữ với dung lượng thấp, cụ thể:

    • Widechar, Ansistring: 2 kiểu dữ liệu chữ được ưu ái với số ký tự lưu được tùy thuộc vào bộ nhớ. Điều này có nghĩa, bộ nhớ càng “khủng”, số ký tự được lưu càng lớn, phù hợp với các dự án lập trình cao cấp và rộng mở.
    • String, Shortstring: 2 kiểu dữ liệu này có số ký tự được lưu giới hạn dưới 255 ký tự, phù hợp với các bạn mới lập trình, các câu lệnh ngắn, ít phức tạp và máy yếu.
    • Char: kiểu dữ liệu nhỏ nhất với ký tự được lưu là 1 ký tự.

    Kiểu liệt kê

    Một trong những kiểu dữ liệu Pascal thường được ứng dụng để liệt kê trong chương trình, cho phép toán tử gán và toán tử quan hệ. Khi dùng kiểu này, bạn cần khai báo theo định dạng:

    Type = (, , , , …)

    Thường được sử dụng để liệt kê các danh sách công việc, thứ ngày, các tháng,… các công việc sử dụng liệt kê.

    Ví dụ: MONTHS = (October, November, December).

    Kiểu miền con

    Kiểu dữ liệu thường được sử dụng để khai báo các biến có trị giá các biến nằm trong dải nhất định. Bên cạnh đó, người dùng có thể tự tạo một kiểu dữ liệu miền con, dùng cú pháp khai báo:

    Type = … ;

    Kiểu miền con ứng dụng trong Pascal

    Kiểu này cũng thường được sử dụng để khai báo các biến tuổi. Ví dụ, nếu là tuổi của trẻ em chưa vị thành niên thì nên nằm trong khoảng từ 1 đến 18 tuổi, có thể khai báo như sau:

    Type age = 01 … 18;

    Các kiểu khai báo miền con có thể được tạo từ tập hợp con của kiểu dữ liệu đã được xác định.

    Kiểu hằng số

    Ngoài các kiểu dữ liệu có thể thay đổi được biến số và toán tử, Pascal còn hỗ trợ các hằng số cho bạn dễ đọc và dễ sửa đổi, chỉ cần lưu ý rằng tất cả khai báo hằng số phải được để trước khai báo biến. Các hằng số thường là kiểu số, kiểu chuỗi, kiểu logic và các ký tự.

    Bạn muốn khai báo hằng thì sử dụng từ khóa Const với cú pháp khai báo chuẩn như sau:

    Const = ;

    Các kiểu dữ liệu trong Pascal nhằm mục đích định danh ý nghĩa, ràng buộc các giá trị, các toán tử, các hàm và phương thức lưu trữ gắn liền với kiểu dữ liệu. Qua bài viết, hy vọng bạn đã phần nào nắm được các kiểu dữ liệu cơ bản và cách ứng dụng trong ngôn ngữ lập trình Pascal, hãy theo dõi chúng tôi để có thể tìm hiểu sâu hơn về các kiểu dữ liệu này nhé.

    FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 24 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.