回答
這是一個左移操作。如果您有:
a << b
其中a
和b
都是整數類型(字符,短,長,等等),然後在a
位左移b
地方用零填充在右側。換句話說,a
乘以2^b
。
實施例:
12 << 3
12 (decimal) = 00001100 (binary)
左移位3個地方:
00001100 becomes 01100000
它是96(其是12 * 8
或12 * 2^3
)
它意味着向左移位0x0001數字0位。在那個特定的情況下,它什麼都不做。
例如,如果是(0x0001 << 4)
,則0x0001將變爲0x0010。向左移動的每個位置就像數字乘以2.
所以,'纈氨酸&(0×0001 << 1)'意味着將bit1向左移動並且使用Val操作? – 2011-04-27 01:12:14
不,這意味着將0x0001移位一位,因此它變爲0x0002。 – 2011-04-27 01:13:45
@Nano:是的,和'Val&2'一樣。 – Potatoswatter 2011-04-27 01:14:25
這是一個bit shift operator。
但是,如果不涉及整數,請注意底層overloaded operator。
- 1. 在C++中重載<<運算符
- 2. 運算符<< C++中的超載
- 3. 重載運算符<<在C++
- 4. 覆蓋的運算符<< in C++
- 5. C++ 11 <<運算符specefic超載
- 6. C++ << >>運算符
- 7. 重載C++插入運算符(<<)
- 8. 運算符重載C++(<<)
- 9. C++重載運算符<<和運算符>>
- 10. C++中的運算符<< <>是什麼?
- 11. C++運算符<overloading
- 12. C++運算符「<" and ">」
- 13. 使用<<運算符
- 14. Overload ostream <<運算符
- 15. 無法在C++中調用超載<<運算符
- 16. QList <QString>運算符<<
- 17. QMap運算符<()
- 18. <<<運算符在php中究竟做了什麼?
- 19. 重載運算符<< ostream的
- 20. 超載「<<」運算符的問題
- 21. 不匹配運算符<< in out使用運算符重載C++
- 22. 重載運算符<< - 必須是二元運算符
- 23. C++重載運算符<<在Matrix類
- 24. C++運算符<<使用模板的流的超載
- 25. 超載運算符<<用於ostream
- 26. 運算符「<<」到一個指針
- 27. <:<斯卡拉運算符
- 28. Rails 3,has_many:through和<<運算符
- 29. 重載運算符<<數組
- 30. 重載運算符<< ostream語法
推論:'<< 0'沒有任何效果。 – joce 2011-04-27 03:06:15