Hiện tượng tràn số trong lập trìnhC là nội dung mà chúng ta sẽ học trong bài học thứ 6 về lập trình C cơ bản. Đây là một lỗi nên tránh và hoàn toàn có thể tránh được trong quá trình chúng ta viết code. Hãy đảm bảo bạn sử dụng kiểu dữ liệu hợp lý để không bị tràn số.
Video bài học hiện tượng tràn số trong C
Code minh họa tràn số
Dưới đây là source code của bài học tràn số trong ngôn ngữ C. Trong code và trên video mình đều có những giải thích rất chi tiết.
/* char : -128 -> 127 sizeof char: 1 byte = 8 bits 1 bit: 0 1 2 bit: 00, 01, 10, 11 => 0, 1, 2, 3 8 bits: 2^8 giá trị = 256 giá trị */ #include <stdio.h> #include <limits.h> int main() { char c = CHAR_MAX + 3; printf("c = %d", c); }
Kết quả chạy chương trình:
PS G:c_courcesday_6> g++ .Overflow.cpp -o .Overflow PS G:c_courcesday_6> .Overflow.exe c = -126
Tài liệu tham khảo
Để tránh hiện tượng tràn số, bạn cần nắm được phạm vi giá trị của từng kiểu dữ liệu trong C. Khi biết được phạm vi của mỗi kiểu dữ liệu, ta có thể lựa chọn kiểu dữ liệu sử dụng một cách hợp lý. Bạn nên tham khảo thêm bài viết về phạm vi các kiểu dữ liệu và hiện tượng tràn số dưới đây để có thêm các kiến thức bổ ích.
[wpcc-iframe class=”wp-embedded-content” sandbox=”allow-scripts” security=”restricted” style=”position: absolute; clip: rect(1px, 1px, 1px, 1px);” title=”“Phạm vi giá trị các kiểu dữ liệu trong C/C++” — Luyện Code” src=”https://nguyenvanhieu.vn/pham-vi-gia-tri-cac-kieu-du-lieu/embed/#?secret=zXa1Ah6CCQ%23?secret=5w8GqfWKsO” data-secret=”5w8GqfWKsO” width=”600″ height=”338″ frameborder=”0″ marginwidth=”0″ marginheight=”0″ scrolling=”no”]
Một số thông tin liên quan tới khóa học “Học C bá đạo” bạn nên biết để việc học đảm bảo tốt nhất:
- Toàn bộ thông tin khóa học: https://nguyenvanhieu.vn/khoa-hoc-lap-trinh-c
- Website: https://nguyenvanhieu.vn
- Forum: https://www.facebook.com/groups/LapTrinhKhongKho/
Để lại một bình luận