int型的數到底最大值是多少?

2021-08-11 16:58:19 字數 724 閱讀 9141

首先,我們要知道在計算機裡怎麼儲存數字的。在計算機裡,對數字編碼有3種方式:原碼、補碼、反碼。原碼其實就是10進製數直接轉2進製數的結果。比如:十進位制的18,在二進位制裡是10010。那這裡的10010就是原碼。我們可以sizeof一下我們自己的電腦上int型佔幾個位元組。我的是4個位元組,也就是說只有32個位。如果乙個十進位制數轉位二進位制數字數大於32,就溢位,其實也就是存不下了。

我們存數不僅僅有正數還有負數,在計算機裡如何區分正數負數?我們規定最高位是符號位。為0是正,為1負。所以最高位是不可以參加計算的。比如二進位制數1000最高位是符號位的話,轉十進位制不是8,而是-0,對就是負0(正0的二進位制形式是0000)。如果給乙個十進位制形式的負數,如何計算它的補碼?

1.計算這個數絕對值的二進位制表示。

2.把2^n寫成二進位制形式減去這個數,得到的就是補碼。

比如:-5,

1。5的二進位制形式是:0101.最高位是符合位,為0是正。

2. 1111-101,二進位制的減法,補碼就是1010.最高位是符合位,為1是負。

反碼不常用,我沒有細心學。

所以,int佔32位的時候,最大可以賦值為:2147483647。也就是0x7fffffff。注意:7的二進位制形式最高位為0,如果你對2147483647+1.輸出的就是-2147483648。這個數是負數中最大的數,也就是int型可以表示的最小的負數。它的十六進製制表示為:0x8fffffff,8的二進位制形式最高位是符號位,是1,為負。

GET與POST可傳遞的最大值到底是多少

http中get與post的區別 get方式傳值的最大長度 都有些道理。引用其中一些觀點 get 首先是 get方式提交的資料最多只能是1024位元組 因為get是通過url提交資料,那麼get可提交的資料量就跟url的長度有直接關係 了。而實際上,url不存在引數上限的問題,http協議規範沒有對...

時間複雜度中的log(n)底數到底是多少?

原文 其實這裡的底數對於研究程式執行效率不重要,寫 時要考慮的是資料規模n對程式執行效率的影響,常數部分則忽略,同樣的,如果不同時間複雜度的倍數關係為常數,那也可以近似認為兩者為同一量級的時間複雜度。讀者只需要掌握 依稀記得 中學數學知識就夠了。假設有底數為2和3的兩個對數函式,如上圖。當x取n 資...

C 求出整型和字元型的最大值

兩種方法求出最大值 1.注釋的是第一種方法,首先自然是用監哨求值法,在void fun 方法裡面求最大下標,然後直接列印。2.未注釋的是通過返回下標來然後直接列印,將方法放到cout includeusing namespace std 定義函式 void fun int score 30 cout...