首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROBOTC -不确定关于>符号

ROBOTC -不确定关于>符号
EN

Stack Overflow用户
提问于 2013-10-25 19:06:15
回答 2查看 190关注 0票数 0

我正在使用ROBOTC编写我的机器人的程序,我使用的是由其他人构建的代码。在一个函数中,我看到了一行:

代码语言:javascript
复制
int leftDir = (left>0)*2-1;

leftDir被初始化为整数,那么>会做什么呢?我的印象是,这是一个二元转换,但我不确定。有人能解释一下吗?谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-25 19:13:08

>greater than运算符。在C中,比较的结果要么是1表示true,要么是0表示false。换句话说,上面的代码在逻辑上相当于(但更紧凑):

代码语言:javascript
复制
int leftDir;

if (left > 0) {
    leftDir = 1;
} else {
    leftDir = -1;
}
票数 6
EN

Stack Overflow用户

发布于 2014-01-11 17:05:47

前面的答案是正确的,但我相信他的意思是有点变化无常。这是有意义的,因为他继续把这个值乘以一个数字,这意味着他没有把它当作一个布尔值。不过,他对roobtc位移位表示法的看法是错误的。如果要在robotc中移动数字,请使用以下语法:

代码语言:javascript
复制
int foo = 0b00001111 >> 2; //bit shifts the bianary number 00001111 over by two bits, so foo will be set to the result 00000011
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19597620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档