1.位運算子,如果運算物件是帶符號的且它的值為負,那麼位運算子如何處理運算物件的「符號位」依賴於機器。此時左移操作可能會改變符號位的值,因此是一種ub。
best practices: 關於符號位如何處理沒有明確的規定,所以強烈建議僅將位運算用於處理無符號型別。
1.1<>(右移)的右側運算子物件一定不能為負,而且值必須嚴格的小於結果的位數,否則將產生ub。
err eg:
int test=0x12341.1.1;test
<<=-1;//
移動位數為負 *ub*
//在int 為4位元組32位的機器上
test >>=32;//
右移32位,錯誤,範圍0-31
左移運算子在右側插入值為0 的二進位制位,右移運算子的行為則依賴於左側運算物件的型別,無符號型別,右移在左側插入0的二進位制位,有符號型別,在左側插入符號位的副本或者值為0的二進位制位。
summary:
見上best practices。
題外話:
如果在大型程式中某些程式由很多人開發而來,且其中一些貫穿全域性的變數為有符號的,而你的開發又確實需要進行右移操作,那麼你應該測試你當前環境的右移行為是什麼樣的並給予備註,提醒後來的開發維護人員。
c 之五穀雜糧 2
2.1 我們通過呼叫運算子 call operator 來執行函式。呼叫運算子的形式是一對圓括號,它作用於乙個表示式,該表示式是函式或者指向函式的指標 圓括號之內是用逗號隔開的實參列表,我們用實參初始化函式的形參。呼叫表示式的型別就是函式的返回型別。1 1 include2 2using names...
愛美的人群讓五穀雜糧來美膚
愛美的人群讓五穀雜糧來美膚,薏公尺湯能美白,燕麥牛奶可祛斑。粗糧雖然是美膚大王,但是普遍存在口感不好及吸收較差的劣勢,想要充分發揮粗糧的美膚功能,就要懂得做到粗糧細吃。對於各種各樣的五穀雜糧,它們都有各自的最佳吃法,從而把其中的營養效用發揮得淋漓盡致。不同的食材,選擇不同的做法,雖然營養成分是不變的...
六種人吃五穀雜糧要留意 舞谷豐登養生坊
舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 舞谷豐登養生坊 五穀雜糧健康 低溫烘培的五穀粉更有利於我們的身體,但有六種的人群是食用五穀雜糧時要特別留意。人群二 痛風患者。痛風病人吃多豆類,會引發尿酸增高,五穀當中的豆類攝取份量就要降...