| 8 | 1/1 | 返回列表 |
| 查看: 2119 | 回復(fù): 7 | ||
| 本帖產(chǎn)生 1 個(gè) 程序強(qiáng)帖 ,點(diǎn)擊這里進(jìn)行查看 | ||
半片紅楓葉木蟲 (小有名氣)
|
[求助]
int型數(shù)值范圍為什么是-32768~32767
|
|
| int型數(shù)值范圍為什么是-32768~32767 |

![]() ![]() |
金蟲 (初入文壇)

至尊木蟲 (著名寫手)
驃騎將軍

木蟲 (小有名氣)

木蟲 (正式寫手)
|
就討論16位int的情形吧,這是個(gè)數(shù)學(xué)問題 整型數(shù)在計(jì)算機(jī)里面都是按照“補(bǔ)碼”來存儲(chǔ)的,補(bǔ)碼是什么呢?請(qǐng)看: 0. 補(bǔ)碼的最高位,代表符號(hào)位,0為正1為負(fù) 1. 對(duì)于正整數(shù),補(bǔ)碼和該整數(shù)的二進(jìn)制碼一樣 2. 對(duì)于負(fù)整數(shù),相當(dāng)于對(duì)其絕對(duì)值的二進(jìn)制碼按位取反,然后+1,最后再把符號(hào)位置為1(當(dāng)然還可以有更簡(jiǎn)便的算法【數(shù)學(xué)里面叫有限域的算法,用模運(yùn)算來計(jì)算可能比較符合一般習(xí)慣一點(diǎn)】,不過邏輯電路層面是這么實(shí)現(xiàn)的,個(gè)人認(rèn)為這么說明比較底層一點(diǎn) )來幾個(gè)直觀的例子: +3的補(bǔ)碼是0000 0000 0000 0011 -1的絕對(duì)值為1,按位取反為1111 1111 1111 1110,+1之后是1111 1111 1111 1111,再置最高位為1,于是最終結(jié)果就是1111 1111 1111 1111 再來看-2,絕對(duì)值為2,于是二進(jìn)制表達(dá)為0000 0000 0000 0010,按位取反為1111 1111 1111 1101,+1之后(再置最高位為1)是1111 1111 1111 1110 從數(shù)學(xué)上看,正好-2就像是在-1的基礎(chǔ)上“減一”得到了 好,那么一直這么算下去,于是 1000 0000 0000 0000 這個(gè)是多少呢? 按照補(bǔ)碼的規(guī)則,他可以是+32767(0111 1111 1111 1111)再加1得到~然則最高位是符號(hào)位,這又是一個(gè)負(fù)值,按補(bǔ)碼解析的時(shí)候,這必須是一個(gè)負(fù)值... 好,稍微扯遠(yuǎn)一點(diǎn)點(diǎn),-32767的補(bǔ)碼是多少?是: 1000 0000 0000 0001 再減一呢?就得到了 1000 0000 0000 0000 于是把這個(gè)解析為-32768是合理的~~~ 【歷史回顧】 啊啊,為神馬需要補(bǔ)碼這么麻煩? 這是因?yàn)殡娐穼?shí)現(xiàn)的時(shí)候不想重復(fù),加法和減法想一起實(shí)現(xiàn)了~ 3-1=2 這么算似乎很簡(jiǎn)單,但是計(jì)算機(jī)是這么算的:(+3) + (-1) 0000 0000 0000 0011 加上 1111 1111 1111 1111 --------------------------------------------- 0000 0000 0000 0010 溢出的位總是“自動(dòng)扔掉”,這么做這要自己保證不溢出,那么結(jié)果就是對(duì)的~(數(shù)學(xué)上的說法是,在那個(gè)有限域中的運(yùn)算都是封閉的,出了有限域就不保證結(jié)果的正確性了=,=似乎如此吧,我不精數(shù)學(xué)) 樓主感興趣的話,可以自己算算 -1-2 體會(huì)一下就明白了~ |
木蟲 (正式寫手)
木蟲 (正式寫手)
| 8 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085600材料與化工 +5 | 安全上岸! 2026-03-16 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 268求調(diào)劑 +6 | 簡(jiǎn)單點(diǎn)0 2026-03-17 | 6/300 |
|
|
[考研] 268求調(diào)劑 +8 | 一定有學(xué)上- 2026-03-14 | 9/450 |
|
|
[考研] 材料專碩326求調(diào)劑 +6 | 墨煜姒莘 2026-03-15 | 7/350 |
|
|
[考研] 【0856】化學(xué)工程(085602)313 分,本科學(xué)科評(píng)估A類院;瘜W(xué)工程與工藝,誠(chéng)求調(diào)劑 +7 | 小劉快快上岸 2026-03-11 | 8/400 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 326求調(diào)劑 +4 | 諾貝爾化學(xué)獎(jiǎng)覬?/a> 2026-03-15 | 7/350 |
|
|
[考研] 304求調(diào)劑 +5 | 素年祭語 2026-03-15 | 5/250 |
|
|
[考研] 070303一志愿西北大學(xué)學(xué)碩310找調(diào)劑 +5 | d如愿上岸 2026-03-12 | 8/400 |
|
|
[考研] 一志愿華中師范071000,325求調(diào)劑 +6 | RuitingC 2026-03-12 | 6/300 |
|
|
[考研] 326求調(diào)劑 +3 | mlpqaz03 2026-03-15 | 3/150 |
|
|
[考研] 22408總分284求調(diào)劑 +3 | InAspic 2026-03-13 | 3/150 |
|
|
[考研] 復(fù)試調(diào)劑 +4 | z1z2z3879 2026-03-14 | 5/250 |
|
|
[考研] 308 085701 四六級(jí)已過求調(diào)劑 +7 | 溫喬喬喬喬 2026-03-12 | 14/700 |
|
|
[考研] 材料與化工求調(diào)劑一志愿 985 總分 295 +8 | dream…… 2026-03-12 | 8/400 |
|
|
[考研] 材料工程調(diào)劑 +9 | 咪咪空空 2026-03-12 | 9/450 |
|
|
[考研] 281求調(diào)劑 +9 | Koxui 2026-03-12 | 11/550 |
|
|
[考研] 考研調(diào)劑 +4 | 芬達(dá)46 2026-03-12 | 4/200 |
|
|
[考研] 土木第一志愿276求調(diào)劑,科研和技能十分豐富,求新興方向的導(dǎo)師收留 +3 | 土木小天才 2026-03-12 | 3/150 |
|
|
[考研] 333求調(diào)劑 +3 | 152697 2026-03-12 | 4/200 |
|