最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:C ++數(shù)據(jù)類型超出有效范圍時,我們應(yīng)該怎么辦?

2021-01-08 21:04 作者:C語言編程__Plus  | 我要投稿


首先,我們來考慮以下程序。

1)程序顯示當我們越過'char'范圍時會發(fā)生什么:


這段代碼會打印“ a”直到它變成226嗎?答案是不確定的循環(huán),因為這里的“ a”被聲明為字符,其有效范圍是-128到+127。當“ a”通過a ++變?yōu)?28時,超出范圍,結(jié)果,從范圍的負數(shù)開始的第一個數(shù)字(即-128)被分配給a。因此,滿足條件“ a <= 225”,并且控制保留在循環(huán)內(nèi)。

2)程序顯示當我們越過'bool'范圍時會發(fā)生什么:


該代碼將無限期打印“ 1”,因為此處的“ a”被聲明為“ bool”,有效范圍是0到1。對于布爾變量,除0以外的任何其他都是1(或true)。當“ a”試圖變?yōu)?(通過a ++)時,會將1分配給“ a”。滿足條件a <= 5,并且控制保留在循環(huán)中。

3)程序顯示當我們跨過'short'的范圍時會發(fā)生什么:

注意short是short int的簡稱。它們是同義詞。short,short int,signed short和signed short int都是相同的數(shù)據(jù)類型。


這段代碼會打印'a'直到變成32770嗎?答案是不確定的循環(huán),因為這里的“ a”被聲明為short,其有效范圍是-32768至+32767。當“ a”試圖通過a ++變?yōu)?2768時,超出范圍,結(jié)果是該范圍負數(shù)的第一個數(shù)字(即-32768)被分配給a。因此,條件“ a <32770”得到滿足,控制仍在循環(huán)內(nèi)。

4)程序顯示當我們跨過'unsigned short'范圍時會發(fā)生什么:


這段代碼會打印“ a”直到變成65536嗎?答案是不確定的循環(huán),因為這里的“ a”被聲明為short,其有效范圍是0到+65535。當“ a”試圖通過a ++變?yōu)?5536時,超出范圍,結(jié)果是范圍中的第一個數(shù)字(即0)分配給了a。因此,條件“ a <65536”得到滿足,控制仍在循環(huán)內(nèi)。

說明-

我們知道計算機使用2的補碼表示數(shù)據(jù)。例如,如果我們有1個字節(jié)(我們可以使用char并使用%d作為格式說明符以十進制形式查看它),則可以表示-128到127。如果我們將1加上127,我們將得到-128。那是因為127是二進制格式的01111111。如果將1添加到01111111中,我們將得到10000000。10000000是2的補碼形式的-128。

如果我們使用無符號整數(shù),也會發(fā)生同樣的情況。255是11111111,當我們將1加到11111111時,我們將得到100000000。但是我們只使用前8位,所以它是0。因此,在255中加1后得到0。


另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~

分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!

編程學習書籍分享:


編程學習視頻分享:



C/C++編程筆記:C ++數(shù)據(jù)類型超出有效范圍時,我們應(yīng)該怎么辦?的評論 (共 條)

分享到微博請遵守國家法律
札达县| 鸡西市| 称多县| 济阳县| 阿勒泰市| 灌南县| 杂多县| 三明市| 长垣县| 棋牌| 诏安县| 康保县| 宝山区| 林芝县| 司法| 盐池县| 诸暨市| 三台县| 盐边县| 万源市| 荣昌县| 昭觉县| 阳朔县| 尼玛县| 堆龙德庆县| 义乌市| 介休市| 娱乐| 永善县| 荃湾区| 谢通门县| 玛纳斯县| 武平县| 寿阳县| 来安县| 开鲁县| 邹平县| 同仁县| 祁连县| 肥西县| 定州市|