C++ 什么是操作员<&书信电报;你喜欢这一行吗?
我不明白这条线的作用:C++ 什么是操作员<&书信电报;你喜欢这一行吗?,c++,operators,C++,Operators,我不明白这条线的作用: fBuffer[fByteIndex] += 1 << (fBitIndex - 1); 以及: for(int i=0;i
fBuffer[fByteIndex] += 1 << (fBitIndex - 1);
以及:
for(int i=0;i<32;i++)
fBuffer[i]=0;
fBitIndex=8;
这就是所谓的位移位。每个字节由8位(0或1)组成。通过将位向左或向右移动一次,可以将数字乘以2或除以2。这是位移动。十进制数1以二进制表示(仅显示较低的8位),如下所示 如果我有
int i=1;
int j=i<<1;
以十进制表示的值是2。如果我有
int j=i<<6;
十进制数为128。它设置位fBuffer[fByteIndex]
1重复投票重新开始。这里有一些正确的答案,“如果我错了,告诉我,没有符号Char fBase[32 ]意味着FFuffs中的一组字符,例如f缓冲器[4 ]是fFuffar数组中的第五字符,对吗?这个数组是如何工作的+=1?!我是C++中的新的,我不能得到它。例如,如果我有:F缓冲器[4] += 1,则<代码> fBuff[5 ]。的值与
1一起相加。好吧。我得到的1A“char(acter)”在这个上下文中只是一个单字节值。(我想说,名称选择不当,特别是在我们使用Unicode等多字节字符集的今天…)因此,fBuffer
数组中的每个条目都可以包含一个介于0和255之间的值。这些值也与ASCII字符集中的字符相对应只是解释其值的众多方法之一。好的,现在我知道了。谢谢。:,,
00000001
int i=1;
int j=i<<1;
00000010
int j=i<<6;
01000000
fBuffer[fByteIndex] += 1 << (fBitIndex - 1);
fBuffer[fByteIndex] += 128;