• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

在单片机中减半的程序怎么写

oh_耗子 2018-10-24 浏览量:1213
在写程序的时候想把得到的数值减一半怎么写合理
4 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 如果是整形数据,直接右移1位就是除以2,右移2位就是除以4,以此类推。

    如果是浮点数据,因为浮点数保存数据格式不一样,所以只能老老实实除法运算了。

    • 发布于 2018-10-24
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:25
  • 右移好了

    虽然有时候编译器会把/2优化成右移

    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 4
    • 0

  • 这要具体分析 如果是小数就不能用右移 最好是用除法 有浮点的最好
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 3
    • 0

  • 如果是整数直接除2,如果是浮点数,要考虑保留的精度和四舍五入,就需要对数据做特殊算法了。
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 如果是整数的话直接向右位移一位就可以了.
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 看是什么数据,如果是整形,可以on个右移,如果是小数,还是老老实实的除以2吧。
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 右移和除以2操作,就得到一半。
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 如果不是有特殊要求可以直接除2就行 有单独浮点单元的速度不会差
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 右移和除2都可以,整数右移,小数除2!
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以向右移1位,就是相当于除以2了啊,这种方式效率最高了
    • 发布于2018-10-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 正常的话除以2,但是右移一位是最快的,因为单片机是二进制的。
    • 发布于2018-10-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般使用右移的方法,简单方便
    • 发布于2018-10-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

在单片机中减半的程序怎么写