当前位置: 首页 > news >正文

php网站开发演讲稿人工智能的关键词

php网站开发演讲稿,人工智能的关键词,工厂软件管理系统,沈阳专业网站制作C语言关于&与&&运算符 我们知道,在很多场景中&和&&通常可以相互代替,那么它们到底有什么不同呢? 先看一段代码 bool a, b, c; c a & b;使用clang -S编译出来的指令如下: movb -5(%rbp), %al …

C语言关于&与&&运算符

我们知道,在很多场景中&和&&通常可以相互代替,那么它们到底有什么不同呢?

先看一段代码

bool a, b, c;
c = a & b;

使用clang++ -S编译出来的指令如下:

	movb	-5(%rbp), %al       # aandb	$1, %almovzbl	%al, %eaxmovb	-6(%rbp), %cl       # bandb	$1, %clmovzbl	%cl, %ecxandl	%ecx, %eax          # a & bcmpl	$0, %eaxsetne	%alandb	$1, %al movb	%al, -7(%rbp)       # c

使用clang++ -S -O3编译出来的指令如下:

	movzbl	-1(%rbp), %edxandb	-2(%rbp), %dl

再看一段代码:

bool a, b, c;
c = a && b;

其汇编代码为:

    xorl	%eax, %eaxtestb	$1, -5(%rbp)        # amovb	%al, -8(%rbp)                   je	.LBB2_2
# %bb.1:movb	-6(%rbp), %al       # bmovb	%al, -8(%rbp)                   
.LBB2_2:movb	-8(%rbp), %al                   andb	$1, %almovb	%al, -7(%rbp)       # c

反汇编一下:

tmp = a;
if(a==1) {tmp = b;
}
c = tmp & 1;

通过对比两段汇编代码就很清晰了,&运算在底层表现为一条指令and,而&&运算实际上需要通过分支的方式实现。

那么能否说明&的效率比&&要高呢?不一定

我们知道,&是与运算,例如要得到a & b的值,就必须分别求得a和b的值。但是&&通过分支的方式实现,要想得到a && b的值,其实不必都求出a和b的值,如果先求出a的值是0,那么就不必再求b了。

再看一段代码:

bool funcA() {}bool funcB() {}int main () {bool c = funcA() & funcB();bool d = funcA() && funcB();
}

上述代码中表达式funcA() & funcB() 与 funcA() && funcB() 哪一个效率更高?

需要具体分析funcA()和funcB()的返回值分布与复杂度,如果funcA()和funcB()复杂度很低,并且大部分情况下返回1,那么funcA() & funcB()的效率可能会高些;如果funcA()和funcB()复杂度较高,并且有可能返回0,那么funcA() && funcB()会高一些。

另外值得一提的是,funcA() && funcB()与funcB() && funcA()哪个效率高?

返回0概率复杂性(耗时)
funcA()a_pza_cost
funcB()b_pzb_cost

funcA() && funcB() 期望耗时为:

a_cost + (1-a_pz) * b_cost

funcB() && funcA() 期望耗时为:

b_cost + (1-b_pz) * a_cost

举个例子

返回0概率复杂性(耗时)
funcA()0.950
funcB()0.840

funcA() && funcB() 期望耗时为54; funcB() && funcA() 期望耗时为50

http://www.mmbaike.com/news/36439.html

相关文章:

  • 平面设计好学吗?没有基础网络seo推广培训
  • 致设计网站优化公司网站
  • 做公司做网站有用吗北京网站建设
  • 山东高阳建设公司网站seo免费优化
  • 制作网站可用性监控新闻发稿平台
  • 政府网站安全建设法律法规外链论坛
  • 做网站外包哪家好济南优化哪家好
  • 手机模板网站模板下载网站有哪些seo职位要求
  • 建设专业网站平台武汉网络营销推广
  • 深圳做网站外包公司电子商务网站设计方案
  • 深圳做网站建设和维护专员管理层seo的中文意思是什么
  • wordpress 自定义字段seo研究协会网app
  • 沈阳做网站建设新网
  • 网站名称重要吗廊坊关键词优化报价
  • 网站开发 科技公关公司的主要业务
  • 网站开发哪种语言比较好网站的优化策略方案
  • 医院做网站定位精品成品网站1688
  • 新乡做网站公司近期的时事热点或新闻事件
  • 网站建设方案书一定要有吗软文推广是什么意思?
  • 网站建站模板样例淘宝运营主要做些什么
  • 网站建设免费学习培训机构如何招生营销
  • 六安网约车公司seo搜索优化是什么呢
  • 做网站卖机器怎么弄百度网站推广排名优化
  • 震泽做网站seo按照搜索引擎的
  • 找个做网站的网络营销的应用
  • 深圳做兼职的网站设计宁波seo在线优化方案公司
  • 专门做正品的网站手机版吉林seo管理平台
  • 自贡做响应式网站开发公司指数型基金是什么意思
  • 怎样使自己做的网站上线搜狗搜索推广
  • 南约社区网站建设百度营销