我之前使用的编程语言是Flanklin C51,由于考虑到编译效率问题现在改用Keil C51。
我的工程中使用了浮点数,要求存放格式为:先存储低字节后存储低字节,例如:111.0 化为浮点数是42DE0000H,如果存放在起始地址为1000H的RAM中,应该如下
1000H:00H
1001H:00H
1002H:DEH
1003H:42H
在采用Flanklin C51编译时应该是正常的,当时也没有专门察看过,但按通讯协议能正常传输。现在改用KEIL C51编译后,通讯结果是错误的,我察看内存数据发现存储方式与要求不同:
1000H:42H
1001H:DEH
1002H:00H
1003H:00H
后经证实就是这两种编译器对浮点数的存放格式不同,现在我还想用KEIL C51,但如何改变它的浮点数存放格式?能不能通过替换某个库文件的方法实现?
哪位高手遇到过类似问题,请分享一下。
原因是以前的程序已经在先运行很多了,如果通过修改软件的方式解决代价比较大,所以希望通过编译器解决。不行的话,只好再用FC51了!