Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
C
12
Nhưng đó là trong trường hợp tất cả các bit dùng để biểu diễn giá trị số(các con số),
tức là ta có số nguyên không dấu (
số dương – unsigned ). Nhưng số nguyên chúng ta cần
có thể là số âm (
số có dấu – signed), trong trường hợp này bit cao nhất được dùng biểu
diễn dấu, như vậy chỉ còn n-1 bit để biểu diễn giá trị. Nếu số âm (có dấu) thì bit dấu có
giá trị =1, ngược lại, nếu số có giá trị dương thì bit dấu có giá trị =0.
Ví dụ với kiểu char (signed char) một byte thì có 7 bit để biểu diễn các con số, vậy nó
có thể biểu diễn các số dương 0,1,..,127 và (theo cách biểu diễn số âm – xem phần hệ đếm
và biểu diễn số âm) nó biểu diễn được các số âm –1,..-128. Miền giá trị của các kiểu số
nguyên khác được diễn giải tượng tự.
Các bạn có thể đặt câu hỏi tại sao đã có kiểu int lại vẫn có kiểu short hay có sự khác
nhau giữa int và short hay không?. Thực ra sự khác nhau giữa chúng phụ thuộc vào hệ
thống mà bạn dùng. Trên môi trường 32 bit thì int có kích thước là 4 byte, short có kích
thước 2 byte, còn trên môi trường 16 bit thì chúng giống nhau.
Thực ra sự quy định kích thước của các kiểu nguyên chỉ là:
−
kiểu char kích thước là 1 byte
−
kiểu short kích thước là 2 byte
−
kiểu long kích thước là 4 byte
−
kích thước kiểu short <= kích thước kiểu int <= kích thước kiểu long
¾
Nhóm các kiểu số thực gồm: float, double, long double
Khuôn dạng biểu diễn của số thực không giống như số nguyên. Một số thực nói chung
được biểu diễn theo ký pháp khoa học gồm phần định trị và phần mũ.
Trong giáo trình này chúng tôi không có ý định trình bày chi tiết định dạng của số
thực. Bạn đọc cần quan tâm tới vấn đề này hãy tham khảo [3 - Chương 14]. Chính vì
Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
C
13
khuôn dạng khác mà miền giá trị của số thực so với số nguyên có cùng kích thước cũng
khác.
Chia sẻ với bạn bè của bạn: