搜索
bottom↓
回复: 8

ICC7.22好像不能定义long long 数据,怎么破解?

[复制链接]

出390入22汤圆

发表于 2022-5-7 12:55:28 | 显示全部楼层 |阅读模式
本帖最后由 liudingding 于 2022-5-7 13:02 编辑

如题ICC7.22定义了一个long long数据,定义时不出警告,让其等于一个超32位的数编译警告溢出,仿真查看这个数据是long型,让其等于一个超32位数据,恒等于0xFFFF   FFFF,求破解,怎么定义一个64位数据

出0入198汤圆

发表于 2022-5-7 13:03:08 来自手机 | 显示全部楼层
64位数字常量是LL后缀

出390入22汤圆

 楼主| 发表于 2022-5-7 13:11:17 | 显示全部楼层
redroof 发表于 2022-5-7 13:03
64位数字常量是LL后缀
(引用自2楼)

后缀L可以,LL出错,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入198汤圆

发表于 2022-5-7 14:12:23 | 显示全部楼层
liudingding 发表于 2022-5-7 13:11
后缀L可以,LL出错,
(引用自3楼)

标准就是这样的。
除非你这个编译器很老,根本不支持64位的long long类型。
我不知道不支持long long的编译器如果遇到你定义一个long long类型的变量是什么结果,或许它直接当作long而不报错~

出200入2509汤圆

发表于 2022-5-7 14:46:10 | 显示全部楼层
ICC7.22 不支持 64bit 整形,唯一一个支持 64bit 的类型是 double,还需要额外开关。
以下摘自 ICC7.12 使用手册,数据类型:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入16汤圆

发表于 2022-5-7 14:54:38 | 显示全部楼层
不能用的话比较麻烦,只能写个结构体模拟了,自己写math函数

出390入22汤圆

 楼主| 发表于 2022-5-7 15:07:36 | 显示全部楼层
翻出来AVR汇编指令表,汇编伺候

出30入25汤圆

发表于 2022-5-7 15:11:28 | 显示全部楼层
t3486784401 发表于 2022-5-7 14:46
ICC7.22 不支持 64bit 整形,唯一一个支持 64bit 的类型是 double,还需要额外开关。
以下摘自 ICC7.12 使 ...
(引用自5楼)

double能够安全表示的整数我记得只有int53(±9007199254740991)吧,超过了就模糊了

出0入0汤圆

发表于 2022-5-7 17:45:43 | 显示全部楼层
以前玩51的时候也是,4个字节乖4个字节 得8个字节,在网上找的程序
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2023-1-29 23:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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