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

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

有符號整數(shù)溢出是否仍然是C+中未定義的行為?

有符號整數(shù)溢出是否仍然是C+中未定義的行為?

C++
眼眸繁星 2019-07-17 16:36:35
有符號整數(shù)溢出是否仍然是C+中未定義的行為?我們知道,有符號整數(shù)溢出是未定義的行為。..但是在C+11中有一些有趣的東西cstdint文件:帶符號整數(shù)類型,寬度分別為8、16、32和64位,沒有填充位和對負值使用2的補碼(只有在實現(xiàn)直接支持類型時才提供)見鏈接這是我的問題:因為標準明確規(guī)定int8_t, int16_t, int32_t和int64_t負數(shù)是2的補碼,這些類型的溢出是否仍是一種未定義的行為?編輯我檢查了C+11和C11標準,下面是我發(fā)現(xiàn)的:C+11,第18.4.1節(jié):標頭定義了與C標準中的7.20相同的所有函數(shù)、類型和宏。C11,第7.20.1.1節(jié):類型胡枝子名稱intN_t指定帶符號整數(shù)類型,其寬度為N,沒有填充位,并指定兩個補碼表示形式。因此,int8_t表示這樣一個帶符號整數(shù)類型,寬度正好為8位。
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

我敢打賭。

來自標準文件(第4和第5頁):

1.3.24未定義的行為

本國際標準不要求的行為

[注意:如果本國際標準遺漏了任何明確的行為定義,或者當(dāng)程序使用錯誤的構(gòu)造或錯誤的數(shù)據(jù)時,可能會出現(xiàn)未定義的行為。允許的未定義行為包括:完全忽略這種情況而導(dǎo)致不可預(yù)測的結(jié)果;在翻譯或程序執(zhí)行過程中以具有環(huán)境特征的記錄方式(無論是否發(fā)布診斷消息);終止翻譯或執(zhí)行(通過發(fā)布診斷消息)。許多錯誤的程序構(gòu)造不會產(chǎn)生未定義的行為;它們需要被診斷。


查看完整回答
反對 回復(fù) 2019-07-17
?
慕的地10843

TA貢獻1785條經(jīng)驗 獲得超8個贊

這些類型的溢出是否仍然是未定義的行為?

是。根據(jù)C+11標準第5/4段(關(guān)于一般的表述):

如果在計算表達式時,結(jié)果沒有數(shù)學(xué)定義,或者不在其類型的可表示值范圍內(nèi),行為未定義. [...]

對那些符號類型使用兩個補碼表示的事實并不意味著在計算這些類型的表達式時使用算術(shù)模2^n。

有關(guān)未簽名另一方面,“標準”明確規(guī)定(第3.9.1/4段):

無符號整數(shù),聲明unsigned應(yīng)遵守算術(shù)模2^n定律其中n是該整數(shù)特定大小的值表示中的位數(shù)。

這意味著無符號算術(shù)運算的結(jié)果總是“數(shù)學(xué)定義“,結(jié)果總是在可代表的范圍內(nèi);因此,5/4不適用。腳注46解釋說:

46)這意味著未簽名算術(shù)不會溢出,因為不能用結(jié)果無符號整數(shù)類型表示的結(jié)果將被減少,即大于結(jié)果無符號整數(shù)類型所能表示的最大值的數(shù)字。


查看完整回答
反對 回復(fù) 2019-07-17
  • 3 回答
  • 0 關(guān)注
  • 606 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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