l888 发表于 2022-12-10 13:16:24

64位整型数值如何设定?在KEIL C251编译器中, STC32

据说C251是16位位编译器,int型是16位long是32位,64位类型如何定义呢?有何好办法呢?
   Stc32定义为32位机,编译器16位,是否有点浪费,有啥好办法提提32位数值速呢?

乘风飞扬 发表于 2022-12-10 14:32:16

本帖最后由 乘风飞扬 于 2022-12-10 14:37 编辑

想要使用64位变量,需要在程序文件里面添加申明:#pragma float64


然后就可以使用64位变量

神农鼎 发表于 2022-12-10 19:44:40


神农鼎 发表于 2022-12-10 19:46:17



STC32G12K128是32位8051,KEIL C251 是32位编译器

l888 发表于 2022-12-11 12:26:55

感谢各位大佬支持,后边有时间练手实验一下

l888 发表于 2022-12-11 12:26:55

感谢各位大佬支持,后边有时间练手实验一下

社区闲人 发表于 2022-12-17 19:22:35

学习了。

khm553018 发表于 2022-12-18 11:59:19

本帖最后由 khm553018 于 2022-12-18 13:30 编辑

乘风飞扬 发表于 2022-12-10 14:32
想要使用64位变量,需要在程序文件里面添加申明:#pragma float64



整型没有64位。这个申明是将浮点型double区分于float的,也就是所谓的64位浮点型,double虽然是64位,但是不能用于整型的一些计算,比如移位超过32位,也不能直接将超过long范围的整数直接赋值给double,比如12345678911。想要赋值12345678911,只能先赋值一个浮点变量a为123456789.11,然后再将a*100的值赋给double变量b才行。单片机没有浮点计算单元的话,最好不要使用浮点型,有点慢。仿真时感觉不到,但实际应用感觉就明显了。大气压测量芯片BMP280给的转换公式能够帮助初学者很好地理解单片机的数据类型以及应用,可以参考一下。

ainiwuhui 发表于 2022-12-18 13:20:10

镇可以这样操作吗?试一试

社区闲人 发表于 2022-12-18 15:59:03

64位的浮点型double很重要。2006年时,在一款产品上配置计算器功能,用8032,32位的float计算误差太大。
很多时候运算慢点可以接受。
页: [1] 2
查看完整版本: 64位整型数值如何设定?在KEIL C251编译器中, STC32