View Single Post
Old 21-04-2008, 12:52 AM   #402
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Hai vấn đề bạn jean thảo luận đều đúng.

Nếu không dùng directive #TYPE signed để định nghĩa lại kiểu mặc định là signed thì các khai báo int16 đều được CCS C hiểu ngầm là số không dấu => có vấn đề, vì sai số nên được biểu diễn bằng số có dấu.

kd, ki đều dùng kiểu số thực khi đặt giá trị, nhưng lại khai báo là unsigned long. Có 2 khả năng xảy ra, CCS C sẽ chuyển kiểu biểu thức thành kiểu của biến (có vấn đề) hay chuyển kiểu của biến thành float để có thể chứa giá trị của biểu thức (không có vấn đề). Tôi không dùng CCS C nên không thể đánh giá được. Nhờ các bạn khác có sử dụng CCS C đánh giá vấn đề này.

Nói chung, không nên để trình biên dịch làm chủ chúng ta, mà chúng ta nên làm chủ trình biên dịch, tức là hiểu rõ phải viết code C ra sao để có được kết quả mong muốn. Nếu chưa hiểu được trình biên dịch sẽ dịch code đang đặt nghi vấn ra sao, tại sao chúng ta không viết code thử nghiệm, biên dịch nó, và đánh giá kết quả bằng việc mô phỏng/thử nghiệm.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn