![]() |
1
62
定义< Buff行情>
左移位运算符(<<)移位
它的第一个操作数在数字后面
由其第二个指定的位
操作数。第二种类型
操作数必须是int。
lt;<operator(msdn c reference)
对于二进制数,这是一个逐位运算,它移动其操作数的所有位;操作数中的每个位只需移动一个给定位数的位位置,空位位置就会被填充。
用法算术移位可以作为执行有符号整数乘或除以二次幂的有效方法。将有符号或无符号二进制数上的位向左移位具有将其乘以 2 n的效果。右移一个2的补码有符号二进制数上的位具有将其除以2的效果,但它总是向下舍入(朝向负无穷大)。这与通常在有符号整数除法(取整为0)中取整的方式不同。这种差异导致多个编译器中出现错误。
另一种用法是使用 颜色位。Charles Petzold Foundations 文章”bitmaps and pixel bits“ Shows an example of<<when working with colors:(使用颜色时显示<<示例:)
|
![]() |
2
8
左移(和对应的,右移)在给定的方向上移动位。 左移或多或少是2倍,但更快 右移或多或少除以2,但更快 |
![]() |
3
6
这是一个左位移位操作,一个非常常见的编程习惯: http://en.wikipedia.org/wiki/Arithmetic_shift |
![]() |
4
3
它叫左移接线员。 跟随 this 有关详细信息的链接。 |
![]() |
5
2
位运算符已经解释了很多次。让我们说
现在,一个半图形表示。这是二进制表示中的数字1:
将八个位置向左移动将使这个数字从一个字节“溢出”。但是,编译器足够聪明,可以给我们更多的空间。
现在,右边部分:数字2的二进制形式如下:
而“”运算符(按位或)只需将这两个值放在一起并比较每比特的比特数。
最后一个值存储在“sample”变量中(在本例中为258),反向操作类似:
|
![]() |
6
1
左移 以下是一些可以帮助您的msdn: http://msdn.microsoft.com/en-us/library/ayt2kcfb(VS.80).aspx |
![]() |
7
1
“<<”是左移运算符。 X & lt; Y 移位位模式 X Y 向左定位。 例如,如果 X 是 0001 0101号 和 Y 是1,那么结果是 0010 1010 . 就像有人把每一块都推开了。 |
![]() |
8
1
|
![]() |
9
1
正如其他人所说,<<运算符将数字的位向左移动。有人在音频应用程序中这样做的正常原因是将两个8位单声道样本(一个用于左和右)组合成一个16位的Sterio样本。 所以在样本代码中,缓冲区似乎包含了在交替样本中用左和右编码的sterio。作者将第一个左8位和第二个右8位相结合,形成一个16位的立体空间样本,其中高8位是一个信道,低8位是另一个信道。 如果在您的示例中,缓冲区包含:
您在样本中得到的结果是:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 7 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 7 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 7 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 8 月前 |