日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java char short区别_java 彻底理解 byte char short int float long double

發布時間:2023/12/4 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java char short区别_java 彻底理解 byte char short int float long double 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

遇到過很多關于 數值類型范圍的問題了,在這做一個總結,我們可以從多方面理解不同數值類型的所能表示的數值范圍

在這里我們只談論 java中的數值類型

首先說byte:

這段是摘自jdk中 Byte.java中的源代碼

從這里可以看出 byte的取值范圍:-128 --- 127;

從計算機組成原理的角度可以解釋:byte在計算機中是占8個字節的 而且byte 是有符號整形 用二進制表示時候最高位為符號位 0代表正數 1代表負數。

最大值:127????? 0111 1111 即2的7次方減去1;

最小值:-128 這個數字曾經困擾我很久, 要知道正數在計算機中是以原碼形式存在的,負數在計算機中是以其補碼形式存在的,那么一個負數的補碼是怎么計算的呢? 就是負數的絕對值的原碼轉為二進制再按位取反后加1,

下邊這個10和-10為例來介紹的?:10原碼:0000 1010???它在計算機中的存儲就是 0000 1010,?那么-10呢? 按照前面說的 算除其絕對值為10,轉為二進制 0000 1010 按位取反 1111 0101 再加1后:1111 0110,此為-10補碼 ,好的,計算機中的1111 0110就是代表-10了。

我們來看 -128??絕對值128的二進制表示:1000 0000 按位取反 0111 1111?加1后:1000 0000,也就是說 -128在計算機中的表示就是 1000 0000 了, 再來看一下-129 在計算機中的表示,絕對值129的范圍已經超出了了byte的位數。

再有還可以通過

輸出Byte的最大值和最小值。

綜上所述 byte的取值范圍只能是:-128 -- 127了? 即 負的2的7次方到2的7次方減去1。

相應的 short 作為16位有符號整形,int作為32位有符號整形, ?long 作為64位有符號整形 都可以如上計算出 取值范圍

char作為16位無符號整形 其范圍為 0 -- 2的15次方 這無可爭議

摘自 Character.java中的源代碼:

float作為32位的浮點型:

摘自Float.java源碼:

double 作為64為浮點型

Double.java源碼:

總結

以上是生活随笔為你收集整理的java char short区别_java 彻底理解 byte char short int float long double的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。