Variables 如何更改整数变量的位

Variables 如何更改整数变量的位,variables,arduino,binary,Variables,Arduino,Binary,我用arduino(16位)创建了一个整数变量。例如,如果我从0(0000000000000000)开始,然后我想在第9个位置播放位1,那么我如何做到这一点,而不必指定与该二进制数对应的整数值。我在Arduino的IDE中使用的编程语言是C。使用按位赋值运算符|=和&=: int var = 0; var |= (1 << 9); // Sets bit 9 var &= ~(1 << 9); // Clears bit 9 if ( (va

我用arduino(16位)创建了一个整数变量。例如,如果我从0(0000000000000000)开始,然后我想在第9个位置播放位1,那么我如何做到这一点,而不必指定与该二进制数对应的整数值。我在Arduino的IDE中使用的编程语言是C。

使用按位赋值运算符
|=
&=

int var = 0;
var |= (1 << 9);       // Sets bit 9
var &= ~(1 << 9);      // Clears bit 9
if ( (var >> 9) & 1 )  // Tests bit 9.
int-var=0;
var |=(19)&1)//测试第9位。

您必须“分配一个对应于该二进制数的整数值”。除非你有一些特殊的位寻址内存和特殊的操作说明。这个问题类似于“我如何学习阅读一本书而不首先把字母和声音联系起来?”。说到。。。你在读哪本书?你说的“第九位第一位”是什么意思?位1位于第二个位置。你想怎么“玩”呢?而且Arduino不是C@西比弗:简单的回答:你不必这么做。一个词的意思与它的发音无关。听力受损的人能很好地阅读。(但我支持你想说的)所有这些都是“分配整数值”。这是真的。但如果我们相信他的话,他的问题就毫无意义了。所以我假设他对“分配整数值”的理解和你我不一样。对,我们对此有“密切的理由”。事实上,在我看来,我们有一个高代表性的用户只是一匙地给出答案是错误的。如果我们只是屈服于每一个毫无意义的突发奇想,网站上很快就会充斥着家庭作业请求。很明显,OP没有投入足够的精力来学习。。。请重新考虑,罗布。注意
var&=~(1@J…S
var&=~(1)转换为var类型