找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3182|回复: 6

请教,“#101=#1032AND255.0”语句的作用是什么?

[复制链接]
发表于 2015-6-23 21:55:21 | 显示全部楼层 |阅读模式
本帖最后由 耶稣爱子 于 2015-6-24 06:24 编辑 8 s# y# g+ U6 J0 z
% V& Y8 H: I# W) b( i4 j+ {
在#1032等于1至5的情况下,“#101=#1032AND255.0”语句的作用是什么?等效“#101=#1032”吗?
+ r; r+ W+ I+ B- J9 a
# Q5 r6 j* w1 K8 K
回复

使用道具 举报

发表于 2015-6-23 23:45:10 | 显示全部楼层
这个不相等的,属于逻辑运算,一般情况下不建议使用逻辑运算。主要是逻辑运算的返回值是二进制,用不好也不好用

评分

参与人数 1威望 +1 收起 理由
耶稣爱子 + 1 热心助人,专业精湛!

查看全部评分

 楼主| 发表于 2015-6-24 06:14:41 | 显示全部楼层
冷月梧桐 发表于 2015-6-23 23:45
% U) N9 Y. t* S. B2 N, l' a这个不相等的,属于逻辑运算,一般情况下不建议使用逻辑运算。主要是逻辑运算的返回值是二进制,用不好也不 ...
; E8 P, F) T5 _) y+ Y9 R
望大侠详解,我看就是将#1032的值赋给#101了,看不出两者的差异,  h# V) r" T8 W
发表于 2015-6-24 06:15:42 | 显示全部楼层
#1032和225.0的值都是1的情况下,#101=1,其余情况#101=0

评分

参与人数 1威望 +1 收起 理由
耶稣爱子 + 1 热心助人,专业精湛!

查看全部评分

 楼主| 发表于 2015-6-24 06:21:23 | 显示全部楼层
是这样吗?不是二进制一位一位的比较吗?
发表于 2015-6-24 07:15:19 | 显示全部楼层
本帖最后由 门童 于 2015-6-24 07:31 编辑 - P# p. `$ S! F. g

" Z, I0 e/ P. ~  f! C# C这个不等效的,前者把低8位(一个字节)的值赋给#101,后者把全部值赋给#101,如果#1032的值总是小于等于255,则两者等效,若大于则不等效,前者可以认为是#1032对256求余,后者楼主你懂的;从逻辑运算的角度看,”位与”255(11111111),则不管#1032高于8位的数是1还是0,结果都是0,从低8位看,由于255都是1,所以位与结果#1032的低8位相应的值是什么就是什么!举个例子#1032=256(1 0000 0000)&255(0 1111 1111)=0
$ e; k2 G1 S/ M; d% ~! x3 p#1032=7(0000 0111)&255(1111 1111)=7(111)$ J1 d( \, O+ d" |9 G( f
#1032=258(1 0000 0010)&255(0 1111 1111)=2(10)

评分

参与人数 1威望 +1 收起 理由
耶稣爱子 + 1 热心助人,专业精湛!

查看全部评分

发表于 2015-8-12 20:25:41 | 显示全部楼层
其实这是个标准化的机床宏程序语句,#1032在FUNUC系统是读取机床当前的系统宏状态,一般用在读取当前的刀号,语言是2进制的,现在机床系统有的是8位有的是16位甚至有的是32位,机床的刀具数量一般是几十把,当#1032的值和255作逻辑运算时,大于256的数都舍去只留下小于255的余数,结果也是这个余数,用255是看刀库刀具数量,如果少于60把时用255和用63结果一样,用255说明机床是8位的16位的一般用511。

点评

大侠高手  发表于 2015-8-18 19:35

评分

参与人数 1威望 +1 收起 理由
耶稣爱子 + 1 热心助人,专业精湛!

查看全部评分

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-8-4 21:13 , Processed in 0.069871 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表