找回密码
 立即注册
楼主: dong***

求教关于c51数值计算的问题,求高人指教

[复制链接]
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    0

    主题

    5

    回帖

    122

    积分

    注册会员

    积分
    122
    发表于 2024-4-10 22:27:46 | 显示全部楼层
    本帖最后由 hbsuntt 于 2024-4-10 22:30 编辑

    需要转换一下
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 09:25
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    4

    主题

    11

    回帖

    100

    积分

    注册会员

    积分
    100
     楼主| 发表于 2024-4-11 14:39:34 | 显示全部楼层
    lezjin 发表于 2024-4-10 15:24
    数据类型问题,%不能用于浮点数,

    什么意思
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 09:25
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    4

    主题

    11

    回帖

    100

    积分

    注册会员

    积分
    100
     楼主| 发表于 2024-4-11 14:43:00 | 显示全部楼层

    怎么转换,详细说一下,我以前这样使用过,可以但不知现在不行
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 07:50
  • 签到天数: 70 天

    [LV.6]常住居民II

    6

    主题

    141

    回帖

    369

    积分

    中级会员

    积分
    369
    发表于 2024-4-12 07:56:57 | 显示全部楼层
    temp=temp/1.17;      
    temp除以一个小数,会转换为浮点型,浮点型不能%运算,你可以把1。17改成一个整数比如2,试一下。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 09:25
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    4

    主题

    11

    回帖

    100

    积分

    注册会员

    积分
    100
     楼主| 发表于 2024-4-12 12:51:01 | 显示全部楼层
    本帖最后由 dongfang 于 2024-4-12 13:12 编辑
    lezjin 发表于 2024-4-12 07:56
    temp=temp/1.17;      
    temp除以一个小数,会转换为浮点型,浮点型不能%运算,你可以把1。17改成一个整 ...

       temp=temp/1.17;        
                    if(temp<=7000)
                                    {        

                                            temp1=(unsigned int)temp;
                                            qian=temp1/1000;
                                            bai=temp1%1000/100;
                                            shi=temp1%100/10;        
                                            ge=temp1%10;
                             }
    这样转换一下应该可以了吗
    我的理解temp/1.7变成浮点型,但temp是整型的,通过 整型=浮点型,应该已经转换成整型的了


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 07:50
  • 签到天数: 70 天

    [LV.6]常住居民II

    6

    主题

    141

    回帖

    369

    积分

    中级会员

    积分
    369
    发表于 2024-4-12 14:10:12 | 显示全部楼层
    dongfang 发表于 2024-4-12 12:51
    temp=temp/1.17;        
                    if(temp

    temp/1.7变成浮点型,但temp是整型的,   按照我的记忆,应该不是这样的。

    temp/1.7————temp会隐式转换成浮点型,按照上面你的强制转换一下,应该是可以了,你试下。

    另外if 里边的判断应该也是浮点和整型比较,不够严谨。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:26
  • 签到天数: 158 天

    [LV.7]常住居民III

    5

    主题

    102

    回帖

    724

    积分

    高级会员

    积分
    724
    发表于 2024-4-12 15:18:20 | 显示全部楼层
    本帖最后由 浦江一水 于 2024-4-13 08:49 编辑

    原程序基本不要动...
    把temp定义为长整型数类型... unsigned long  (因根据后面实例源码看,temp计算过程中,有可能超65535 )
    将这句:   temp=temp/1.17;
    改写为:   temp=(100*temp)/(100*1.17);
    试试看...如何...?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    0

    主题

    5

    回帖

    122

    积分

    注册会员

    积分
    122
    发表于 2024-4-12 21:16:19 | 显示全部楼层
    unsigned long temp1;
    if(temp<=7000)
    {
    temp1=temp*100/117;
    qian=temp1/1000;
      bai=temp1%1000/100;
       shi=temp1%100/10;
    ge=temp1%10;
                             }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 09:25
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    4

    主题

    11

    回帖

    100

    积分

    注册会员

    积分
    100
     楼主| 发表于 2024-4-13 19:38:44 | 显示全部楼层
    hbsuntt 发表于 2024-4-12 21:16
    unsigned long temp1;
    if(temp

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-15 09:25
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    4

    主题

    11

    回帖

    100

    积分

    注册会员

    积分
    100
     楼主| 发表于 2024-4-13 19:39:19 | 显示全部楼层
    浦江一水 发表于 2024-4-12 15:18
    原程序基本不要动...
    把temp定义为长整型数类型... unsigned long  (因根据后面实例源码看,temp计算过程中, ...

    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-18 03:35 , Processed in 0.067492 second(s), 62 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表