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

[复制链接]
15457|9
 楼主| roseting 发表于 2008-9-10 15:37 | 显示全部楼层 |阅读模式
现在用到某变量为负数,要将其保存到EEPROM中,也会将其从EEPROM中读出,并与其他数进行比较

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

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

谢谢指点 
king6301 发表于 2008-9-10 16:17 | 显示全部楼层

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

先转换成正数,再比较及写操作
xhcyf1 发表于 2008-9-10 16:39 | 显示全部楼层

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

评论

武极天下最新章节 77wx.org/read/219/index.html  发表于 2013-5-5 21:04
 楼主| roseting 发表于 2008-9-10 17:46 | 显示全部楼层

谢谢两位

偶已经用第一位站友建议的方法实现了 :)
BOW///~~~
gx_huang 发表于 2008-9-11 08:32 | 显示全部楼层

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

直接保存就可以了,比如8bit,1就是1,255就是-1,直接保存0-255的值就可以了。
ycf0027 发表于 2008-9-12 06:49 | 显示全部楼层

可以定义一个位

用最老的方法,定义带符号的字节(字等),它的最高位就表示符号."1"表示负数,
"0"表示正数;我想这样还是比较简单,比较好操作的
xwj 发表于 2008-9-12 07:34 | 显示全部楼层

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

定义正确的数据类型(有符号的),然后直接写成-30即可
lianshumou 发表于 2008-9-12 08:49 | 显示全部楼层

不占什么空间!

单片机的基本运算指令都是有符号无符号统一处理的,没有分别, 只有当字长超过芯片本身的字长的时候,有符号处理才变得比无符号麻烦!但也没麻烦太多
!
 楼主| roseting 发表于 2008-9-12 11:35 | 显示全部楼层

楼上各位

我实际运用的时候,保存没有管符号,直接保存,
只是在液晶显示的时候判断正负,然后是负数情况下在前面输出"-"号,然后取反输出数字
cecwxf 发表于 2012-4-2 15:32 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

71

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部