PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Help. Phép tính bị sai trong ccs. (http://www.picvietnam.com/forum/showthread.php?t=33494)

vanpippi 06-05-2014 11:37 PM

Help. Phép tính bị sai trong ccs.
 
Mình lập trình pic16f877a. Không hiểu tại sao khi code: a=(-8)^2+1 thì kết quả là -15, còn a=5/4 thì kết quả là 1. Ai có thể giải thích giúp mình lỗi này và cách sửa được không? Câu hỏi hơi ngớ ngẩn, mọi nguoi thông cảm.

quang_vi 06-05-2014 11:55 PM

trong C mình nhớ hàm ^ là phép tính XOR chứ ko phải hàm mũ , còn cái 5/4 bằng 1 là do phép chia này là chia lấy phần nguyên , nên nó =1, bạn muốn lấy phần dư thì a=5%4

vanpippi 07-05-2014 11:44 AM

vậy mình muôn lây số thực thì sao bạn? Vì mình cho biến a là float rồi thì kết quả sao không phải là a=5/4=1.25?

hangocminh1989 07-05-2014 03:45 PM

lâu rồi mình không xài nhưng theo mình bạn muốn lấy cả phần nguyên và phần dư thì bạn chỉ cẩn gán 1 biến khác hiển thị cả 2 kết quả thôi : x= (a =5/4).b=(5%4) - ngu kiến của mình bạn có thể thử :D

phunghe 19-05-2014 07:37 PM

giả sử bạn khai báo int8 b=5,c=4;
float a;
và a=b/c sẽ dc là 1.25


Múi giờ GMT. Hiện tại là 07:57 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam