找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 3181|回复: 6

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

[复制链接]
发表于 2015-6-23 21:55:21 | 显示全部楼层 |阅读模式
本帖最后由 耶稣爱子 于 2015-6-24 06:24 编辑
9 v& m* ^3 N' w4 |2 c! R# M, z5 c# B+ {, A. A1 y6 {9 |4 {
在#1032等于1至5的情况下,“#101=#1032AND255.0”语句的作用是什么?等效“#101=#1032”吗?0 w: I+ c( d" `+ p

* c) F) \) t8 V/ }* k
回复

使用道具 举报

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

评分

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

查看全部评分

 楼主| 发表于 2015-6-24 06:14:41 | 显示全部楼层
冷月梧桐 发表于 2015-6-23 23:45
$ T+ `+ j. _- m" q: N8 M1 b; t) Q这个不相等的,属于逻辑运算,一般情况下不建议使用逻辑运算。主要是逻辑运算的返回值是二进制,用不好也不 ...
6 s( P$ [4 ?1 I- F7 V" B( a0 ]0 C8 B0 `
望大侠详解,我看就是将#1032的值赋给#101了,看不出两者的差异,
$ J0 a. N. m; S& H2 z0 V( A
发表于 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 编辑
3 m' i, J- _8 U$ c- S- Z. g
4 z; L* T1 M" z' {7 t这个不等效的,前者把低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 ; q0 W: ]4 K0 S2 z
#1032=7(0000 0111)&255(1111 1111)=7(111)( l& W; g* u# P4 }6 i
#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 18:51 , Processed in 0.061306 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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