社区
C#
帖子详情
|与|| ,&与&& 分别表示什么意思?
熙风
2010-08-17 10:32:02
|与|| ,&与&& 分别表示什么意思 ,请解释一下
...全文
295200
20
打赏
收藏
|与|| ,&与&& 分别表示什么意思?
|与|| ,&与&& 分别表示什么意思 ,请解释一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
XJBAA
2012-07-15
打赏
举报
回复
6楼、8楼、10楼已经说的很详细了,看看就会懂的!
小妹妹
2010-10-23
打赏
举报
回复
来学习的
xk1126
2010-08-17
打赏
举报
回复
4
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
|| && 表示逻辑运算,||表示或者的意思,&& 表示并且的意思,例如 33>44 || "abcd"=="abcd",其结果是逻辑值true或false
zw6294093
2010-08-17
打赏
举报
回复
不解释,
你们越说越乱了
liuxiuming
2010-08-17
打赏
举报
回复
我还是顶顶算了,哈哈
lbiori241
2010-08-17
打赏
举报
回复
12
| 是汗~比如可以这样用 —_—||
& 是纠结~比如可以这样用 -_-&
libolei
2010-08-17
打赏
举报
回复
哥们理解错了?
一直认为是短路效果
判断了第一个不通过的话就不判断第二个了
你们上面说的深奥哦哦哦
Peter200694013
2010-08-17
打赏
举报
回复
按位或|
按位与&
位运算
--------
|| && 逻辑运算
有短路效果, eg: b1 && b2 --> 如果b1为false,则不去判断b2,这个表达式的返回值为false
chazikai24
2010-08-17
打赏
举报
回复
[Quote=引用 8 楼 sdfkfkd 的回复:]
引用 5 楼 happy09li 的回复:
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
请问这运算的结果是什么啊?
如果要自己进行手工演算的话,先将每个数转换成二进制,然后进行,位或(|)表示相对应的每位至少有一个为1,则结果为1,只有两个都为0,结果才为0.位与(&)表示相对应的两位必须……
[/Quote]
或运算是00才是0,有1就是1,
与运算是11才是1,有0就是0
zhengqian529
2010-08-17
打赏
举报
回复
都说过了,那我加点内容吧
>大于
>>n 右移n位
<小于
<<n 左移n位
哈哈
特别
2010-08-17
打赏
举报
回复
[Quote=引用 5 楼 happy09li 的回复:]
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
请问这运算的结果是什么啊?
[/Quote]
如果要自己进行手工演算的话,先将每个数转换成二进制,然后进行,位或(|)表示相对应的每位至少有一个为1,则结果为1,只有两个都为0,结果才为0.位与(&)表示相对应的两位必须都为1,结果才为1,否则为0
例如: 3 |2
11 //3
10 //2
--------------------
11 //3
例如: 3 & 2
11
10
---------------------
10 //2
chazikai24
2010-08-17
打赏
举报
回复
[Quote=引用 6 楼 chazikai24 的回复:]
3|2 2进制就是11与10 就是10,也就是2
3&2 2进制是11或10 就是00,也就是0
[/Quote]
写错了
3&2 结果是11或10 是 11 也就是3
chazikai24
2010-08-17
打赏
举报
回复
3|2 2进制就是11与10 就是10,也就是2
3&2 2进制是11或10 就是00,也就是0
熙风
2010-08-17
打赏
举报
回复
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
请问这运算的结果是什么啊?
hujun4561812
2010-08-17
打赏
举报
回复
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
|| && 表示逻辑运算,||表示或者的意思,&& 表示并且的意思,例如 33>44 || "abcd"=="abcd",其结果是逻辑值true或false
jrl5365
2010-08-17
打赏
举报
回复
晚了,接分的位置
特别
2010-08-17
打赏
举报
回复
| & 表示位运算,针对数值进行的运算,例如 3 | 2 、78 & 99,其结果仍然应为值数
|| && 表示逻辑运算,||表示或者的意思,&& 表示并且的意思,例如 33>44 || "abcd"=="abcd",其结果是逻辑值true或false
深海之蓝
2010-08-17
打赏
举报
回复
按位或,逻辑或 | ||
按位与,逻辑与 & &&
cjh200102
2010-08-17
打赏
举报
回复
来晚了,啥也不说了。
supercpu123
2010-08-17
打赏
举报
回复
不解释了 上面的解释够多了
纯粹来接分的
编译原理实验报告 词法分析器实验报告
设计思想 (1)程序主体结构部分: 说明部分 %% 规则部分 %% 辅助程序部分 (2)主体结构的说明 在这里说明部分告诉我们使用的LETTER,DIGIT, IDENT(标识符,通常定义为字母开头的字母数字串)和STR(字符串常量,通常定义为双引号括起来的一串字符)是
什么意思
.这部分也可以包含一些初始化代码.例如用#include来使用标准的头文件和前向说明(forward ,references).这些代码应该再标记"%{"和"%}"之间;规则部分>可以包括任何你想用来分析的代码;我们这里包括了忽略所有注释中字符的功能,传送ID名称和字符串常量内容到主调函数和main函数的功能. (3)实现原理 程序中先判断这个句语句中每个单元为关键字、常数、运算符、界符,对与不同的单词符号给出不同编码形式的编码,用以区分之。 PL/0语言的EBNF
表示
<常量定义>::=<标识符>=<无符号整数>; <标识符>::=<字母>={<字母>|<数字>}; <加法运算符>::=+|- <乘法运算符>::=*|/ <关系运算符>::==|#|<|<=|>|>= <字母>::=a|b|…|X|Y|Z <数字>::=0|1|2|…|8|9 三:设计过程 1. 关键字:void,main,if,then,break,int,Char,float,include,for,while,printfscanf 并为小写。 2."+”;”-”;”*”;”/”;”:=“;”:”;”<“;”<=“;”>“;”>=“;”<>“;”=“;”(“;”)”;”;”;”#”为运算符。 3. 其他标记 如字符串,
表示
以字母开头的标识符。 4. 空格符跳过。 5. 各符号对应种别码 关键字分别对应1-13 运算符分别对应401-418,501-513。 字符串对应100 常量对应200 结束符# 四:举例说明 目标:实现对常量的判别 代码: digit [0-9] letter [A-Za-z] other_char [!-@\[-~] id ({letter}|[_])({letter}|{digit}|[_])* string {({letter}|{digit}|{other_char})+} int_num {digit}+ %% [ |\t|\n]+ "auto"|"double"|"int"|"struct"|"break"|"else"|"long"|"switch"|"case"|"enum"|"register"|"typedef"|"char"|"extern"|"return"|"union"|"const"|"float"|"short"|"unsigned"|"continue"|"for"|"signed"|"void"|"default"|"goto"|"sizeof"|"do"|"if"|"static"|"while"|"main" {Upper(yytext,yyleng);printf("%s,NULL\n",yytext);} \"([!-~])*\" {printf("CONST_string,%s\n",yytext);} -?{int_num}[.]{int_num}?([E][+|-]?{int_num})? {printf("CONST_real,%s\n",yytext);} "0x"?{int_num} {printf("CONST_int,%s\n",yytext);} ","|";"|"("|")"|"{"|"}"|"["|"]"|"->"|"."|"!"|"~"|"++"|"--"|"*"|"&"|"sizeof"|"/"|"%"|"+"|"-"|">"|"<"|">="|"<="|"=="|"!="|"&"|"^"|"|"|"&"|"||"|"+="|"-="|"*="|"/="|"%="|">>="|"<<="|"&="|"^="|"|="|"=" {printf("%s,NULL\n",yytext);} {id} {printf("ID,%s\n",yytext);} {digit}({letter})+ {printf("error1:%s\n",yytext);} %% #include
Upper(char *s,int l) { int i; for(i=0;i
#include
#include
#include
int i,j,k,flag,number,status; /*status which is use to judge the string is keywords or not!*/ char ch; char words[10] = {" "}; char program[500]; int Scan(char program[]) { char *keywords[13] = {"void","main","if","then","break","int", "char","float","include","for","while","printf", "scanf"}; number = 0; status = 0; j = 0; ch = program[i++]; /* To handle the lettle space ands tab*/ /*handle letters*/ if ((ch >= 'a')
&&
(ch <= 'z' )) { while ((ch >= 'a')
&&
(ch <= 'z' )) { words[j++]=ch; ch=program[i++]; } i--; words[j++] = '\0'; for (k = 0; k < 13; k++) if (strcmp (words,keywords[k]) == 0) switch(k) { case 0:{ flag = 1; status = 1; break; } case 1:{ flag = 2; status = 1; break; } case 2:{ flag = 3; status = 1; break; } case 3:{ flag = 4; status = 1; break; } case 4:{ flag = 5; status = 1; break; } case 5:{ flag = 6; status = 1; break; } case 6:{ flag = 7; status = 1; break; } case 7:{ flag = 8; status = 1; break; } case 8:{ flag = 9; status = 1; break; } case 9:{ flag = 10; status = 1; break; } case 10:{ flag = 11; status = 1; break; } case 11:{ flag = 12; status = 1; break; } case 12:{ flag = 13; status = 1; break; } } if (status == 0) { flag = 100; } } /*handle digits*/ else if ((ch >= '0')
&&
(ch <= '9')) { number = 0; while ((ch >= '0' )
&&
(ch <= '9' )) { number = number*10+(ch-'0'); ch = program[i++]; } flag = 200; i--; } /*opereation and edge handle*/ else switch (ch) { case '=':{ if (ch == '=') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 401; } else { i--; flag = 402; } break; } case'>':{ if (ch == '>') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 403; } else { i--; flag = 404; } break; } case'<':{ if (ch == '<') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 405; } else { i--; flag = 406; } break; } case'!':{ if (ch == '!') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 407; } else { i--; flag = 408; } break; } case'+':{ if (ch == '+') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 409; } else if (ch == '+') { words[j++] = ch; words[j] = '\0'; flag = 410; } else { i--; flag = 411; } break; } case'-':{ if (ch == '-') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 412; } else if( ch == '-') { words[j++] = ch; words[j] = '\0'; flag = 413; } else { i--; flag = 414; } break; } case'*':{ if (ch == '*') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 415; } else { i--; flag = 416; } break; } case'/':{ if (ch == '/') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 417; } else { i--; flag = 418; } break; } case';':{ words[j] = ch; words[j+1] = '\0'; flag = 501; break; } case'(':{ words[j] = ch; words[j+1] = '\0'; flag = 502; break; } case')':{ words[j] = ch; words[j+1] = '\0'; flag = 503; break; } case'[':{ words[j] = ch; words[j+1] = '\0'; flag = 504; break; } case']':{ words[j] = ch; words[j+1] = '\0'; flag = 505; break; } case'{':{ words[j] = ch; words[j+1] = '\0'; flag = 506; break; } case'}':{ words[j] = ch; words[j+1] = '\0'; flag = 507; break; } case':':{ words[j] = ch; words[j+1] = '\0'; flag = 508; break; } case'"':{ words[j] = ch; words[j+1] = '\0'; flag = 509; break; } case'%':{ if (ch == '%') words[j++] = ch; words[j] = '\0'; ch = program[i++]; if (ch == '=') { words[j++] = ch; words[j] = '\0'; flag = 510; } else { i--; flag = 511; } break; } case',':{ words[j] = ch; words[j+1] = '\0'; flag = 512; break; } case'#':{ words[j] = ch; words[j+1] = '\0'; flag = 513; break; } case'@':{ words[j] = '#'; flag = 0; break; } default:{ flag = -1; break; } } return flag; } main() { i=0; printf("please input a program end with @"); do { ch = getchar(); program[i++] = ch; }while(ch != '@'); i = 0; do{ flag = Scan(program); if (flag == 200) { printf("(%2d,%4d)",flag,number); } else if (flag == -1) { printf("(%d,error)",flag); } else { printf("(%2d,%4s)",flag,words); } }while (flag != 0); system("pause"); }
cloudfoundry-ftp-service-broker:有关如何为Cloud Foundry编写自定义服务代理的演示。 这个简单地代表了一项FTP服务
定制的Cloud Foundry FTP服务代理 Cloud Foundry提供了许多扩展平面。 服务经纪人就是其中之一。 服务代理实现了Cloud Foundry知道如何与之交谈的REST API。 当然,您可以使用直接的Lattice
&&
Docker镜像来站起来这些服务,但是这里的目标是证明通过使其真正实现并对其进行操作,您可以获得很多收益。 教云所需的技巧。 这里的目标是演示如何通过将现有应用程序分支到PaaS并在必要时扩展PaaS以了解旧服务来适应这些应用程序。 我想要一些企业级的东西,所以我选择了(S?)FTP(S?)。 用户可以轻松创建和绑定此FTP服务的实例: cf marketplace | grep ftp || echo " you've not successfully registered the FTP service with Cloud Foundr
Unity ECS(一) 轻松入门
一: 什么是ECS? ECS是一种新的架构模式(当然是针对Unity本身来说),这是一个取代GameObject / Component 的模式。 其模式遵循组合优于继承原则,游戏内的每一个基本单元都是一个实体,每个实体又由一个或多个组件构成,每个组件仅仅包含代表其特性的数据(即在组件中没有任何方法)。系统便是来处理拥有一个或多个相同组件的实体集合的工具,其只拥有行为(即在系统中没有任何数据)。 ECS旨在比GameObject / MonoBehaviour更容易处理大量物体。ECS由于是面向数据的设计,所以很容易并行高速处理,以及与Unity开发的C#JobSystem/Burst Compiler一起工作,从而获取更高的项目运行性能。二:ECS总体发展历史 目前Unity公司由Mike Acton 大佬主持DOD(Data Oriented Design 面向数据设计)的全面改革与推进工作,目的是旨在进一步推进Unity系统本身与Unity项目的执行效率。 ECS总体发展: A: 在Unity2018引入Entities之前,其实ECS框架早已经出现,但是ECS还是因为守望先锋采用了这个框架才被我们所熟知,后来Git上面出现了一个Entitas的插件可以直接用在Unity上面。Entitas-Unity(有多个语言的port版本,Entitas-Unity下统一称为Entitas) 是 Unity的一个ECS(Entity/Component/System)框架,是在github上面的一个开源项目。 B: 经过Unity公司的认可与改造,目前Unity2018.x 版本已经通过 Package Manager 提供了Unity版本的ECS插件,名称为:“Entities”。 C: Unity2019.x 版本,对“Entities”插件的API进行了进一步改造与完善,以更规范的API实现更加高效的与规范的编程模式。 三:ECS(一)轻松入门篇 本“ECS入门篇”旨在全面讲解ecs 的相关理论与简单Hello World 的编程模式,且通过Unity2018.x与Unity2019.x 两个不同API的编程模式,初步讲解ECS的编程规范与模式规范。 需要进一步学习ECS的小伙伴们,可以关注后续“ECS(二)小试牛刀”篇的进一步讲解。 《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096
|与|| ,&与
&&
分别
表示
什么意思
?
|&
表示
位运算,针对数值进行的运算,例如3|2、78&99,其结果仍然应为值数||&&
表示
逻辑运算,||
表示
或者的意思,&&
表示
并且的意思,例如33>44||"abcd"=="abcd",其结果是逻辑值true或false 转载于:https://www.cnblogs.com/xyao1/p/8573034.ht...
javascript语言中
&&
和||有什么区别?
区别: 1意思不同: &&是“与”的意思,||是“或者”的意思。 2 使用上不同:a && b:a和b同时为true 才返回 true, 否则返回false;a || b:a或b任意一个为true 就返回true , 否则返回false 3 两者都
表示
运算,但是&&运算符第一个表达式不成立的话,后面的表达式不运算,直接返回。而&对所有表...
C#
110,473
社区成员
642,561
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章