導(dǎo)讀 關(guān)于c語言中=和==的區(qū)別,c語言中這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!1、符號
關(guān)于c語言中=和==的區(qū)別,c語言中這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、符號<<在C語言中代表了左移運算符。
2、<<用來將一個數(shù)的各二進制位全部左移若干位,移動的位數(shù)由右操作數(shù)指定,右操作數(shù)必須是非負(fù)值,其右邊空出的位用0填補,高位左移溢出則舍棄該高位。
3、擴展資料將a的二進制數(shù)左移2位,右補0。
4、若a=15,即二進制數(shù)00001111,左移2位得00111100,即十進制數(shù)60(為簡單起見,用8位二進制數(shù)表示十進制數(shù)15,如果用16位二進制數(shù)表示,結(jié)果是一樣的)。
5、高位左移后溢出,舍棄。
6、左移一位相當(dāng)于該數(shù)乘以2,左移2位相當(dāng)于該數(shù)乘以2^2=4。
7、上面舉的例子15<< 2=60,即乘了4。
8、但此結(jié)論只適用于該數(shù)左移時被溢出舍棄的高位中不包含1的情況。
9、例如,假設(shè)以一個字節(jié)(8位)存一個整數(shù),若a為無符號整型變量,則a=64,即二進制數(shù)01000000時,左移一位時溢出的是0。
10、而左移2位時,溢出的高位中包含1,則不符合上述結(jié)論。
11、參考資料來源:百度百科-左移運算符。
本文分享完畢,希望對大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!