网站首页 > 文章精选 正文
“王工,我的减法指令的计算结果怎么不正确,20减2.0怎么等于-2.0。”
当时正在赶车,根据他微信发的截图,从原理上分析存在两种可能性:
1、 变量多次赋值,在此处计算时的值为0.0,到后面又被赋值为20,监控显示的是最后赋值的结果;
2、 变量赋值类型错误,赋值为整形的20而不是浮点型20.0,整形的20按浮点数显示的话是0.0;
检查方法:
- 如果是地址重复使用,多次赋值,对地址交叉参考一下就能发现。
- 如果赋值的数据类型错误,需要检查传入数据的变量的类型
朋友针对这两种情况检查发现,是上位机WINCC赋值的时候,写入类型错误导致。
总结:
编程的时候尽量按照IEC的规范要求,定义正确的数据类型。如果程序按标准化和规范化编制,就不会出现类似的问题。在未执行IEC检查的时候,我们往往不太注意WORD类型和int类型的变量、整数直接和浮点数运算的程序,虽然大多数时候结果不会出错,但这就是在给后面挖坑,终有一天会把自己陷进去。
1、为什么REAL类型中写入十进制的0浮点数显示为0.0,而写入十进制的20浮点数也显示为0.0呢?
2、如何写不规范数据类型的程序,让别人无法用LAD查看[奸笑]
- 上一篇: Java高级语言程序设计试题
- 下一篇: 6.4 数据类型转换
猜你喜欢
- 2025-01-06 C语言各类符号意思,新手小白收藏好物,看了必懂
- 2025-01-06 Go语言基础—运算符
- 2025-01-06 C++ 之父 2024 年末重磅演讲 | 重新认识 C++:跨世纪的现代演进
- 2025-01-06 50个常见 Java 错误以及如何避免它们
- 2025-01-06 JavaScript中常见的几种错误
- 2025-01-06 聊聊C语言-基本运算符
- 2025-01-06 「C语言」变量及赋值
- 2025-01-06 Python 基础之基本语法与数据类型,小白必看!
- 2025-01-06 2024年GESP6月认证Python一级试卷解析
- 2025-01-06 「Python赋值运算符」赋值运算符的使用
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)