微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 这个单片机程序的数学题,有点纳闷

这个单片机程序的数学题,有点纳闷

时间:10-02 整理:3721RD 点击:

A是unsigned char  
B是int
请看下题

A=19;
B=(int)((A/ 9)*10;
B=B+9;
B=B/10;
A=(BYTE)(B);
到这里问,A为什么不等于3?而是等于2?

19/9=2;  2*10=20;  20+9=29;  29/10=2;  不是就是等于2吗为什么要等于3

有符号,19/9=2.1 *10=21 +9=30.

A=19;
B=((int)((A/ 9)*10+9)/10;
A=(BYTE)(B);
这样也不行

这个符号是正负号,计算机中19/9 =2

如果想处理带小数点的数字,请使用float

是等于29/10整型数据2

这个是C语言的的取整函数   29/10=2

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top