找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3109|回复: 6

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

[复制链接]
发表于 2015-6-23 21:55:21 | 显示全部楼层 |阅读模式
本帖最后由 耶稣爱子 于 2015-6-24 06:24 编辑
, F! k, v8 D6 x0 D1 z& x" o% O
6 x6 {; o# y1 A0 `( ~; X2 r/ f在#1032等于1至5的情况下,“#101=#1032AND255.0”语句的作用是什么?等效“#101=#1032”吗?
2 {- x% R6 z; @) B( o& L  V
( J# C7 q4 B& z
回复

使用道具 举报

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

评分

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

查看全部评分

 楼主| 发表于 2015-6-24 06:14:41 | 显示全部楼层
冷月梧桐 发表于 2015-6-23 23:45
3 |7 J2 Q6 Y4 C1 H/ V; g+ S. M这个不相等的,属于逻辑运算,一般情况下不建议使用逻辑运算。主要是逻辑运算的返回值是二进制,用不好也不 ...
: ~1 J+ @" _; p2 K0 ?/ B! M
望大侠详解,我看就是将#1032的值赋给#101了,看不出两者的差异,
5 T, J/ t) H6 W' s
发表于 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 编辑
  e( Z$ L. G: P  u4 a' n9 i5 s- {+ u1 I* v# E, T: K
这个不等效的,前者把低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 ! o! y, \% i: n  F; B  D
#1032=7(0000 0111)&255(1111 1111)=7(111)4 M) w+ T# m% `6 t6 T- v/ A( s' v& z
#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-6-20 15:16 , Processed in 0.066674 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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