ackyee 发表于 2024-7-10 14:49:08

KEIL4编译STC12代码float 和double 都是4字节那两者范围不是一致了?

本帖最后由 ackyee 于 2024-7-10 14:56 编辑

如题,那这样 两种定义的结果 在8位机下 使用场景 和范围精度等不是一致了?

kebaojun305 发表于 2024-7-10 15:03:38

对啊 就是一样啊

ackyee 发表于 2024-7-10 15:05:15

好吧查了一下 确实是完全一样的

我还每次 都作区分了{:dizzy:}

ackyee 发表于 2024-7-10 15:06:18

kebaojun305 发表于 2024-7-10 15:03
对啊 就是一样啊
(引用自2楼)

以前没细算,都是   短数据用float长数据用double ,因为也没溢出过,所以没去深究

今天 测试了下 看看编译结果,结果float 和double 结果一致的,这才出来查两者在51下的范围

kebaojun305 发表于 2024-7-10 15:10:33

ackyee 发表于 2024-7-10 15:06
以前没细算,都是   短数据用float长数据用double ,因为也没溢出过,所以没去深究

今天 测试了下...
(引用自4楼)

任何一个新的编译器 上去第一次用 都的先查数据范围表的。

阿豪博士 发表于 2024-7-10 17:27:57

玩儿习惯了32位的,处理4个字节的时候,非常习惯写成unsigned int.
其实应该是 long 直接OK

liwei_jlu 发表于 2024-7-10 17:30:36

阿豪博士 发表于 2024-7-10 17:27
玩儿习惯了32位的,处理4个字节的时候,非常习惯写成unsigned int.
其实应该是 long 直接OK ...
(引用自6楼)

通用的方式是做typedef,根据编译器修改对应的类型,做成头文件。

编程时用uint32 表示无符号32位整数, sint16表示有符号16位短整数。

lb0857 发表于 2024-7-10 17:32:50

ackyee 发表于 2024-7-10 15:05
好吧查了一下 确实是完全一样的

我还每次 都作区分了
(引用自3楼)

好资料哦
自己整理还是网络版本的
页: [1]
查看完整版本: KEIL4编译STC12代码float 和double 都是4字节那两者范围不是一致了?