liudingding 发表于 2022-5-7 12:55:28

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

本帖最后由 liudingding 于 2022-5-7 13:02 编辑

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

redroof 发表于 2022-5-7 13:03:08

64位数字常量是LL后缀

liudingding 发表于 2022-5-7 13:11:17

redroof 发表于 2022-5-7 13:03
64位数字常量是LL后缀
(引用自2楼)

后缀L可以,LL出错,

redroof 发表于 2022-5-7 14:12:23

liudingding 发表于 2022-5-7 13:11
后缀L可以,LL出错,
(引用自3楼)

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

t3486784401 发表于 2022-5-7 14:46:10

ICC7.22 不支持 64bit 整形,唯一一个支持 64bit 的类型是 double,还需要额外开关。
以下摘自 ICC7.12 使用手册,数据类型:

初音之恋 发表于 2022-5-7 14:54:38

不能用的话比较麻烦,只能写个结构体模拟了,自己写math函数

liudingding 发表于 2022-5-7 15:07:36

翻出来AVR汇编指令表,汇编伺候

shamiao 发表于 2022-5-7 15:11:28

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

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

woshigeshuai 发表于 2022-5-7 17:45:43

以前玩51的时候也是,4个字节乖4个字节 得8个字节,在网上找的程序
页: [1]
查看完整版本: ICC7.22好像不能定义long long 数据,怎么破解?