乙個例子理解C 位移

2021-06-12 08:33:18 字數 639 閱讀 5793

來自:

很多人覺得位移這東西很複雜,二進位制一堆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...