99问答网
所有问题
在单片机C语言中,==和>哪个运算的快。比如 if(a==1&&b==0&&c==0) {} 和 if(a>b&&a>c) {} 相比
如题所述
举报该问题
推荐答案 2013-02-24
你首先要弄明白在C语言中,==和>都是如何运算的,计算机自身并不会判断大小,而是根据两个数相减的正负来判断大小的,例如,a>b,在处理器内部是要判断a-b的正负的,如果是正,则a>b成立,同理,a==1,就是判断a-1是不是等于0,所以==的运算速度要略快一些
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/BvXv7tj77.html
其他回答
第1个回答 2013-02-24
不同的编译器可能都不一样。这个和你用的处理器也有很大关系。
你要想体搞清楚,你可能要把你写的C语言程序编译成汇编之后来分析。不同的情况都会有一些出入的。为了更高效的代码一般都是在C编译成生的汇编做优化。
有一本绝版了的 汇编语言程序设计 ——美Richard Blum 上面有讲这方面的基础知识。你可以在网上找一下,应该还有PDF。
本回答被网友采纳
第2个回答 2013-02-24
==和>都是原生支持的汇编指令,速度区别是看具体芯片的实现。
第3个回答 2013-02-24
没必要这么纠结吧。都是瞬间的事儿。基本没有差别
追问
其实我是想知道这是什么原因造成的。比如>>就比除2快
追答
求问你是如何测出时间的
第4个回答 2013-02-24
51的话,应该是==吧
相似回答
C语言
逻辑
运算
符顺序
答:
2、“&&”和“||”优先级低于关系运算符,“!”优先级高于算术运算符。
PIC
单片机中C语言
程序中|
=和&=
是输入输出的意思么
答:
和c51是一样的咯,位与和位或
atmega16
单片机的
|
=和&=
是什么意思
答:
a|=1就是a=a|1
a&=1
就是
a=a&
1 =是赋值,但这两个包含了
运算和
赋值操作,所以不能代替 建议:回头有时间吧
C语言
好好看一下,编写
单片机
程序离不开C
单片机C语言中
|=什么意思?
答:
|是一中
运算,
名称叫做“或”,计算方法是对两个数的二进制进行运算,例如3|5的结果是7|=是赋值运算,例如a|=7语句的意思就是
a=a
|7
单片机C语言&和&&
有何区别?
答:
楼上正解!&是按位
与
&&
是逻辑与,它们的运算法则不同~~
单片机中的
逻辑
运算
怎么算的?
答:
单片机中的
逻辑运算有4种:1、“与”运算 “与”运算是实现“必须都有, 否则就没有”这种逻辑关系的一种运算。运算符为“· ”, 其运算规则如下:0·
0=0,0
·1=0,1·0=0, 1·1
=1;
2、“或”运算 “或”运算是实现“只要其中之一有, 就有”这种逻辑关系的一种
运算,
其运算符为“+...
51
单片机C语言中
<<
=和
|=的意思是什么?
答:
这两个都是特殊的赋值运算符。这类运算符的形式为OP=,为双目运算符,即需要左右都有操作表达式。其中左侧必须为可改变值的变量,右侧可以为任意表达式。对于OP=的运算符,其含义为:aOP
=b;
等同于a = a OP b;对于题目中涉及的两个运算符,分别为:a <<= b; 等效于a = a << b; 即a左...
...
1
if(a
>100
){
a=0;
d=!d
;}
2 while(a<100
);
a=0; d=!d;
答:
1)———
if(a
>100
){
a=0;
d=!d;} a值为101 时 执行 语句:{ a=0; d=!d;} 2)——— while(a<100);a值小于100 时,执行空语句;直到a值为100 执行 a=0; d=!d;因此语句 1) 比语句2)多一次中断 故时间长
我说的是这个意思(a==0
&&b==0&&c==0)和(a==
0|b==0|c==0)的区别
答:
(a==
0|
b==0
|c==0)可以写成(a==0||b==0||
c==0),
前者是位
运算,
后者是逻辑运算,两者意义不同,但是结果一样,建议写成后者。功能是判断a、b、c中是否有0,如果有表达式就为真。当&&左值为0时,表达式值直接为0,后面的不判断了,假如a
=1,
a==0就为假,后面就不比较b、c值了;当...
大家正在搜
c语言和单片机的关系
c语言和单片机
单片机c语言编程300例
c语言51单片机
51单片机c语言编程入门
单片机C语言程序设计
c语言版单片机教程
单片机c语言必背代码
51单片机编程语言
相关问题
c语言中,a=-1,b=1;if((++a<0)&&!(b-...
单片机C语言&和&&有何区别?
单片机C语言中a=~(1<<b)
C语言中 if(a||b&&c) ......... 什么意...
if(a==0&&b =0&&...
c语言中 if(A && B || C),应...
(a-b)/c用单片机怎么处理?当a=b时,单片机是计算到a...
if((a)&&(b||c))是什么意思