打印

单片机C语言中的负数怎么操作?

[复制链接]
14103|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roseting|  楼主 | 2008-9-10 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用到某变量为负数,要将其保存到EEPROM中,也会将其从EEPROM中读出,并与其他数进行比较

并且还牵涉到将其显示到LCD上.

我的问题是:遇到变量值为负数的情况,是先将其变成正数然后进行比较以及写LCD操作,还是不用变,像正数一样直接操作呢?

谢谢指点 

相关帖子

沙发
king6301| | 2008-9-10 16:17 | 只看该作者

单片机C语言中的负数怎么操作?

先转换成正数,再比较及写操作

使用特权

评论回复
板凳
xhcyf1| | 2008-9-10 16:39 | 只看该作者

代码空间和资源够的话,直接定义成有符号数来运算保存。

使用特权

评论回复
评论
水稻生产型 2013-5-5 21:04 回复TA
武极天下最新章节 77wx.org/read/219/index.html 
地板
roseting|  楼主 | 2008-9-10 17:46 | 只看该作者

谢谢两位

偶已经用第一位站友建议的方法实现了 :)
BOW///~~~

使用特权

评论回复
5
gx_huang| | 2008-9-11 08:32 | 只看该作者

强,C语言也用正数来保存负数?

直接保存就可以了,比如8bit,1就是1,255就是-1,直接保存0-255的值就可以了。

使用特权

评论回复
6
ycf0027| | 2008-9-12 06:49 | 只看该作者

可以定义一个位

用最老的方法,定义带符号的字节(字等),它的最高位就表示符号."1"表示负数,
"0"表示正数;我想这样还是比较简单,比较好操作的

使用特权

评论回复
7
xwj| | 2008-9-12 07:34 | 只看该作者

唉,既然用C,还关心这些干嘛???

定义正确的数据类型(有符号的),然后直接写成-30即可

使用特权

评论回复
8
lianshumou| | 2008-9-12 08:49 | 只看该作者

不占什么空间!

单片机的基本运算指令都是有符号无符号统一处理的,没有分别, 只有当字长超过芯片本身的字长的时候,有符号处理才变得比无符号麻烦!但也没麻烦太多
!

使用特权

评论回复
9
roseting|  楼主 | 2008-9-12 11:35 | 只看该作者

楼上各位

我实际运用的时候,保存没有管符号,直接保存,
只是在液晶显示的时候判断正负,然后是负数情况下在前面输出"-"号,然后取反输出数字

使用特权

评论回复
10
cecwxf| | 2012-4-2 15:32 | 只看该作者
:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

71

帖子

1

粉丝