有关长整形(long int)?

[复制链接]
4205|7
 楼主| 去耦滤波 发表于 2012-2-20 22:58 | 显示全部楼层 |阅读模式
今天编程时发现用long int 定义的变量当大于 32768时就会益处!难道iar c语言中没有真正的long int吗??
浏览器123 发表于 2012-2-20 23:05 | 显示全部楼层
直接定义为unsigned long/long就行了.当然定义成long int/unsigned long int也没错,问题肯定在别的地方,你再找找
u880 发表于 2012-2-20 23:14 | 显示全部楼层
如果你想使用c的库函数的话,再2.10A版前的版本,应该在相应的*.xcl文件里将使用printf/sprintf的-e_small_write=_formatted_write注销掉,2.10版的在option里选大模式
huigoushang 发表于 2012-2-20 23:26 | 显示全部楼层
显示浮点数一般要打近10行程序,要根据显示小数点位数先扩大10的N次方倍,然后求10的余数,进行一轮循环,要输出到LED/LCD又要变一个函数,如果用户要求其它的格式,又要辛苦修改一番.用printf/sprintf就避免了这些问题,用一行程序输出所有类型的数据,各种格式不说,还能很方便的输出字符,中文到点阵LCD,要知道怎样用只要看C语言的书就行了.
G21372 发表于 2012-2-20 23:40 | 显示全部楼层
你用的C编页器支持长整型数就可以在自己变得.H文件中使用,这涉及到你的C编译器的版本,设置等诸多因素.
TI_MCU 发表于 2012-2-21 12:47 | 显示全部楼层
试了下,没有问题不会溢出的。环境是IAR C/C++ Compiler for MSP430 5.10.1 [Evaluation] (5.10.1.20144)。楼主新建个项目试试,也许是你的编译器设置有问题。

赋值建议写成下面的代码:
a = 132768L;
uc_stm32f050 发表于 2012-2-21 15:58 | 显示全部楼层
肯定是楼主自己用法用错了。
modernthink 发表于 2012-2-22 17:40 | 显示全部楼层
430 long的定义是4个byte的,我在不同的版本的IAR上都试过。
赋值的时候数值后没加L吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

206

帖子

1

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