乙個關於127 1的思考

2021-08-31 01:36:32 字數 913 閱讀 4376

最近在學習c/c++的過程中遇到了乙個有乙個問題,便借助本次機會和大家分享一下,也作為在csdn上的乙個開端。俗話說興趣是人們最好的導師,我欲對這門行業有著更加真實的認識,願計算機技術能引領我前進。

對於這次這個問題,問題的描述是這個樣子的「當我們定義了乙個char型別的變數,將其賦初值為 0,那麼對其迴圈加一會出現什麼情況呢」。眾所周知,char型別代表的是字元,它可以表示的範圍是從0到127.分別對應著ascii碼值,那麼的話,如果我們給出如下**,輸出的是 7 。

#include int main()

當變數a的值對應的是127時,再加1會出現什麼情況呢?因為ascii碼一共只有128個,變數a再加1的話會輸出1個問號,這樣去研究它沒有什麼意義。我便用整型的方式去輸出它。得到的結果是-128。

#include int main()

如果利用乙個迴圈問題進行輸出的話。你就會發現接下來的輸出便是從-128到+127的乙個遍歷了。那麼為什麼會這樣呢?

我查了一些資料,資料上說計算機上的儲存形式是和乙個叫補碼的東西有關的,127 的補碼是 0111 1111 。如果再加1的話就會變成1000 0000 。補碼的第一位是符號位,計算機會認為這表示乙個負數,轉換成10進製數的話就會變成-128。所以程式輸出的結果是-128。

那麼的話,將此結果推廣開來,對於整數型的型別來說,比如說 short ,int ,long int ,long long 。它們能表示最大的數再加1的話就會變成最小的數。用程式來驗證的話便如下所示。

#includeint main()

輸出的結果是 -2147483648 -32768 -2147483648

本次和大家分享的內容略有簡陋~願各位大方之家不吝賜教。

ω

關於AI的乙個思考

人工智慧,顧名思義,人工 智慧型,人工好理解,即人力所能及的。但是 智慧型 一直以來備受爭議。人唯一了解的智慧型是人本身的智慧型,這是普遍認同的觀點。但是我們對自身智慧型的理解都非常有限,對構 的智慧型的必要元素也了解有限,所以產生的人工智慧也存在侷限性。就像是支援人工智慧底層的演算法,可能工程師只...

關於IT公司招聘的乙個思考

21世紀什麼最貴?人才!相信這是很多it公司管理者的深刻感悟。對於it公司而言,找到合適的人才往往不能單靠人事部門,一則人事部門可能人手短缺,幾個人要幫公司十幾個部門招人 二則人事部門不太懂業務和技術,不知道如何搜簡歷,也缺乏足夠的人脈關係。所以要招到合適的人才,還得靠技術部門的技術大拿。比如我就曾...

乙個關於空指標的思考

最近在看 時發現乙個用於求結構體成員偏移量的方式 define nbb offsetof struct,field nbb buf size nbb byte struct 0 field nbb byte 0 奇怪的是對 struct 0 field的引用怎麼不會出現錯誤呢?於是寫了如下 進行簡單...