第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

具有無符號值的位移給出有符號結(jié)果

具有無符號值的位移給出有符號結(jié)果

Go
Qyouu 2022-06-13 17:16:48
使用無符號uint32變量進(jìn)行位移運算,為什么會int收到有符號結(jié)果?func NewNM(log2Dim uint32) {    SIZE := 1 << (3 * log2Dim) // Why: SIZE type == int    // ...}
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

來自go 語言參考

移位表達(dá)式中的右操作數(shù)必須是整數(shù)類型或者是可由 uint 類型的值表示的無類型常量。如果非常量移位表達(dá)式的左操作數(shù)是無類型常量,則首先將其隱式轉(zhuǎn)換為僅將移位表達(dá)式替換為其左操作數(shù)時假定的類型。

然后...

移位運算符將左操作數(shù)移位由右操作數(shù)指定的移位計數(shù),該移位計數(shù)必須為非負(fù)數(shù)。如果班次計數(shù)在運行時為負(fù)數(shù),則會發(fā)生運行時恐慌。如果左操作數(shù)是有符號整數(shù),則移位運算符實現(xiàn)算術(shù)移位,如果左操作數(shù)是無符號整數(shù),則實現(xiàn)邏輯移位。

所以1表達(dá)式1 << (3 * log2Dim)中的根據(jù)第一段轉(zhuǎn)換為an int,然后移位是根據(jù)第二段算術(shù)移位。


查看完整回答
反對 回復(fù) 2022-06-13
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號