來自:
很多人覺得位移這東西很複雜,二進位制一堆0、1看不懂。。。
其實很簡單。。。
位移理解可能簡單一些:其實位移就是資料轉換成二進位制的左右移動;右移左補0,左移右補0,後面多出來的部分去掉。
用乘除法去理解位移也可以:
左位移:相當於乘
左移1位相當於乘2,左移2位相當於乘4,左移3位相當於乘8,左移4位相當於乘16...類推 右
位移:相當於除
右移1位相當於除2,右移2位相當於除4,右移3位相當於除8,右移4位相當於除16...類推
下面用乙個我曾回帖用過的例子幫助理解
把89右位移一位:
[csharp]view plain
copy
print?
string flag = convert.tostring(89, 2); //這是把你的89轉為2進製數。。
//flag結果:1011001
//你要右位移,左邊補個0,後面多出來一位去掉
int j = convert.toint32("0101100", 2); //再把2進製轉化了10進製數。。
//結果:44
//位移就是這麼簡單
乙個例子理解C 位移
很多人提問,不知道c 位移,可能有些人在面試中也遇到過 其實很簡單。c 位移運算子 左移 右移 位移理解可能簡單一些 其實 就是資料轉換成二進位制的左右移動 右移左補0,左移右補0,後面多出來的部分去掉。用乘除法去理解位移也可以 左位移 相當於乘 左移1位相當於乘2,左移2位相當於乘4,左移3位相當...
C 多型的乙個例子
class a virtual void f2 static void f3 virtual void f4 class b virtual void f2 static void f3 virtual void f4 int main 執行結果 a f1 b f1 a f3 b f2 分析 類的成...
乙個例子讓你理解Generator語法
function foo let generator foo 返回迭代器例項 指標物件 console.log generator.next 111 console.log generator.next aaaa console.log generator.next console.log gene...