C++關(guān)于/2和>>1的區(qū)別說明
/2和>>1的區(qū)別
1.操作對(duì)象類型不同
>>是右移符百號(hào),它在操度作時(shí)只允許整數(shù)
/是除法,它可以操作不同類型的數(shù)據(jù):浮點(diǎn)數(shù)除法最終結(jié)果是浮點(diǎn)數(shù),整數(shù)除法的最終結(jié)果是整數(shù)。
只有當(dāng)被操作數(shù)數(shù)據(jù)類型為知大于0的整數(shù)時(shí),運(yùn)算道結(jié)果才是內(nèi)相同的。
2.運(yùn)算效率不同
右移操作通常情況下,會(huì)比整數(shù)除法速度快。涉及容到浮點(diǎn)數(shù)的除法速度是最慢的。
3.優(yōu)先級(jí)不同
右移運(yùn)算的優(yōu)先級(jí)比除法低,在同時(shí)參與的運(yùn)算中,先計(jì)算乘除,后計(jì)算左移或右移
C++ <<和>>的意思
<<是左移運(yùn)算符的意思
左移運(yùn)算符是用來將一個(gè)數(shù)的各二進(jìn)制位全部左移若干位,右補(bǔ)0。高位左移后溢出,舍棄。
例如:
將a的二進(jìn)制數(shù)左移2位,右補(bǔ)0。若a=15,即二進(jìn)制數(shù)00001111,左移2位得00111100,即十進(jìn)制數(shù)60。
語法格式:需要移位的數(shù)字 << 移位的次數(shù)
例如: 3 << 2,則是將數(shù)字3左移2位。即00000011----->00001100(12);
>>右移運(yùn)算符
運(yùn)算規(guī)則:
按二進(jìn)制形式把所有的數(shù)字向右移動(dòng)對(duì)應(yīng)的位數(shù),低位移出(舍棄)。高位的空位補(bǔ)符號(hào)位,即正數(shù)補(bǔ)零,負(fù)數(shù)補(bǔ)1。
語法格式:需要移位的數(shù)字 >> 移位的次數(shù)
例如:11 >> 2,則是將數(shù)字11右移2位,即00001011------>00000010(2);
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android App仿微信界面切換時(shí)Tab圖標(biāo)變色效果的制作方法
這篇文章主要介紹了Android App仿微信界面切換時(shí)Tab圖標(biāo)變色效果的制作方法,重點(diǎn)講解了圖標(biāo)的繪制技巧,需要的朋友可以參考下2016-04-04C語言中的函數(shù)指針基礎(chǔ)學(xué)習(xí)教程
這篇文章主要介紹了C語言中的函數(shù)指針基礎(chǔ)學(xué)習(xí)教程,包括函數(shù)指針作為參數(shù)來傳遞等重要知識(shí),需要的朋友可以參考下2016-04-04C語言數(shù)據(jù)結(jié)構(gòu)之單鏈表操作詳解
鏈表是一種物理存儲(chǔ)結(jié)構(gòu)上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將和大家一起聊聊C語言中單鏈表的常用操作,感興趣的可以學(xué)習(xí)一下2022-07-07