C的移位位運算符。移位運算符向左或向右移動位。
左移運算符(<<)將其左側運算對象每一位的值向左移動其右側運算對象指定的位數。
左側運算對象移出左末端位的值丟失,用0填充空出的位置.
下面例子中,每一位都向左移動兩個位置:
(10001010) << 2 //表達式
(00101000) << 2 //結果值
該操作產生了一個新的位值,但是不改變其運算對象。例如,假設stonk為1,那么stonk << 2為4,但是stonk本身不變,仍為1。
可以使用左移賦值運算符(<<=)來更改變量的值。
該運算符將變量中的位向左移動其右側運算對象給定值的位數,如下例:
int stonk = 1;int onkoo;onkoo = stonk << 2; /* 把4賦值給onkoo */stonk <<= 2; /* 把stonk的值改為4 */
右移運算符,將其左側運算對象每一位的值向右移動其右側運算對象指定的位數。
左側運算對象移出右末端位的值丟失。
對于無符號類型,用零填充空出的位置;對于有符號類型,其結果取決于機器。
空出的位置可用0填充,或者用符號位(即最左端的位)的副本填充:
(10001010)>> 2 //表達式,有符號值
(00100010) //在某些系統中的結果值
(10001010)>> 2 //表達式,有符號值
(11100010) //在另一些系統上的結果值
下面是無符號值的例子:
(10001010)>> 2 //表達式,無符號值
(00100010) //所有系統都得到該結果值
每個位向右移動兩個位置,空出的位用0填充。
右移賦值運算符(>>=)其左側的變量向右移動指定數量的位數,如下所示:
int sweet = 16; //二進制值為:0001 0000 int ooosw;ooosw = sweet >> 3; // 右移三位2進制值W為:0000 0010, 十進制ooosw = 2,sweet的值仍然為16sweet >>=3; //sweet的值為2 ‘>>=’是右移賦值運算符
移位運算符針對2的冪提供快速有效的乘法和除法:
number << n num乘以2的n次冪
number >> n 如果number為非負,則用number除以2的n次冪
這些移位運算符,類似于在10進制中,移動小數點來乘以10或除以10。
移位預算符還可以用于較大單元中提取一些位。例如用一個unsigned long類型的值表示顏色值,低階位字節存儲紅色的強度,下一個字節存儲綠色的強度,第3個字節存儲藍色的強度。
隨后你希望把每種顏色的強度分別存儲在3個不同的類型的變量中,那么可以使用你下面的語句:
#define BYTE_MASK 0xffunsigned long color = 0x002a162f;unsigned char blue, green, red;red = color & BYTE_MASK;green = (color >> 8) & BYTE_MASK;blue = (color >> 16) & BYTE_MASK;
以上代碼中使用右移運算符,將8位顏色值移動至低階字節,然后使用掩碼技術把低階字節賦值給指定的變量。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
QQ上面那個星鉆怎么開的?親,這個是新出去的那個觀看別人比賽的視頻那個里面才有的,玩家直接再點免費的禮物圖標就也可以送出系統送的的付費鮮花,付費禮物則是需要用星光秀場的專屬套裝貨幣“星鉆”來并且網上購買。玩家再點房間右側的充值按鈕來通過“星鉆”的手機充值定購,你每次充值話費星鉆的小于單位為10星鉆,同時玩家會獲得游戲內對應大區的魅力值和溫暖回報點獎勵。110星鉆10回饋點1魅力值。手機鉆怎么點亮星...
如何打開BTCGUILD網?您在框中輸入的是密碼。例如,如果輸入“GPU”,密碼是GPUcgminer instructions1。首先,雙擊生成.exe配置動態庫文件和運行環境cgminer需要使用的2,打開給我-ltc.com設置挖掘帳戶后,您可以開始向workerworker注冊。首先,打開“run”(可以在“開始”菜單中找到,也可以按win r彈出),輸入CMD彈出命令窗口,然后跳轉到cg...
pdf多頁如何拼版?這種情況在:可以通過以下方法和步驟解決。1.首先,我們打開要與pdf Message 3 Professional Edition合并的PDF文檔,單擊 "拼版 "在文檔中。2.然后,在彈出窗口中,我們單擊打開Layout,并在Type下拉框中選擇Sequence,為Column和Row分別輸入2和1。3.然后我們點擊打開 "紙張和飲料,選擇 "適用于紙張大小和尺寸在紙張類型下...