最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解java中的byte類型

 更新時(shí)間:2017年02月23日 08:34:24   作者:夜有所思,日有所夢(mèng)  
Java也提供了一個(gè)byte數(shù)據(jù)類型,并且是基本類型。java byte是做為最小的數(shù)字來(lái)處理的,因此它的值域被定義為-128~127,也就是signed byte。下面這篇文章主要給大家介紹了關(guān)于java中byte類型的相關(guān)資料,需要的朋友可以參考下。

介紹

byte,即字節(jié),由8位的二進(jìn)制組成。在Java中,byte類型的數(shù)據(jù)是8位帶符號(hào)的二進(jìn)制數(shù)。

在計(jì)算機(jī)中,8位帶符號(hào)二進(jìn)制數(shù)的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。

取值范圍分析

一直在想為什么不是 -128 到 128呢?今天分析了一下這個(gè)問(wèn)題。

首先我們得明白一件事情,那就是運(yùn)算規(guī)則:

#######################################################################

####正數(shù)的最高位都是 0 ,正數(shù)的值就是二進(jìn)制表示的值。 ####

####負(fù)數(shù)的最高位都是 1 ,負(fù)數(shù)的值是 取反后加一 然后加個(gè)負(fù)號(hào)得到得值。 ####

#######################################################################

我們用8位的二進(jìn)制來(lái)說(shuō)明一下此規(guī)則:

比如:00000001。最高位是0 為正數(shù) ,那么表示的就是 十進(jìn)制的 1。

再比如:10000001.最高位是1 為負(fù)數(shù),值是多少?取反得到 01111110 加1 得到 01111111 ,那么值為 -127

理解此運(yùn)算規(guī)則我們正式開(kāi)始說(shuō)byte,byte正好是8位的二進(jìn)制數(shù)。short是16位 int是32位 long是64位。

不難理解,byte的最大正數(shù)就是 01111111(最高位必須是0),也就是 127。

那么你可能會(huì)想 byte的最小負(fù)數(shù)就是 11111111 了,對(duì)不對(duì)? 這么想就

大錯(cuò)特錯(cuò)了。讓我們看看11111111這個(gè)二進(jìn)制數(shù)表示多少。

根據(jù)上面的提示 我們知道這是一個(gè)負(fù)數(shù)。它的值是先取反再加1 。

11111111取反得到:00000000,加1得到 00000001 。最后得到的值為-1.

這可是最大的負(fù)數(shù)啊。由此你是不是想到了最小的負(fù)數(shù)會(huì)不會(huì)是10000000呢?

讓我們算一下 取反:01111111 加1得到 10000000 最后得到 -128.

127是01111111 然而 -128是10000000 ,看出來(lái)一個(gè)奇怪的事情。

仔細(xì)的看一下這兩個(gè)二進(jìn)制數(shù) 是不是前者加1就得到后者呢?對(duì)。

可以編一個(gè)小程序?qū)嶒?yàn)一下:

byte a = 127; 
a+=1; 
System.out.println(a); 

結(jié)果正好是-128

由此我們可以看出來(lái)二進(jìn)制從 00000000 到01111111到10000000到 11111111

即 十進(jìn)制從 0 到 127 到 -128 到 -1

接下來(lái),我們用一段代碼來(lái)更深刻地理解byte:

public class A {
 public static void main(String[] args) {
  int b = 456;
  byte test = (byte) b;
  System.out.println(test);
 }
}

上述代碼,最后會(huì)輸出-56。原因如下:

200的二進(jìn)制表示是111001000,由于int是32位的二進(jìn)制,所以在計(jì)算機(jī)中,實(shí)際上是00000000000……111001000,當(dāng)int轉(zhuǎn)成byte的時(shí)候,那么計(jì)算機(jī)會(huì)只保留最后8位,即11001000。

然后11001000的最高位是1,那么表示是一個(gè)負(fù)數(shù),而負(fù)數(shù)在計(jì)算機(jī)中都是以補(bǔ)碼的形式保存的,所以我們計(jì)算11001000的原碼為00111000,即56,所以11001000表示的是-56,所以最后test的值為-56。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • 關(guān)于mybatis3中@SelectProvider的使用問(wèn)題

    關(guān)于mybatis3中@SelectProvider的使用問(wèn)題

    這篇文章主要介紹了mybatis3中@SelectProvider的使用技巧,@SelectProvide指定一個(gè)Class及其方法,并且通過(guò)調(diào)用Class上的這個(gè)方法來(lái)獲得sql語(yǔ)句,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • java利用phantomjs進(jìn)行截圖實(shí)例教程

    java利用phantomjs進(jìn)行截圖實(shí)例教程

    PlantomJs是一個(gè)基于javascript的webkit內(nèi)核無(wú)頭瀏覽器 也就是沒(méi)有顯示界面的瀏覽器,你可以在基于 webkit 瀏覽器做的事情,它都能做到。下面這篇文章主要給大家介紹了關(guān)于java利用phantomjs進(jìn)行截圖的相關(guān)資料,需要的朋友可以參考下
    2018-10-10
  • 使用Java創(chuàng)建數(shù)據(jù)透視表并導(dǎo)出為PDF的方法

    使用Java創(chuàng)建數(shù)據(jù)透視表并導(dǎo)出為PDF的方法

    數(shù)據(jù)透視分析是一種強(qiáng)大的工具,可以幫助我們從大量數(shù)據(jù)中提取有用信息并進(jìn)行深入分析,本文將介紹如何使用Java來(lái)構(gòu)建PivotTable以及實(shí)現(xiàn)數(shù)據(jù)透視分析,并將其導(dǎo)出為PDF
    2023-10-10
  • 深入了解Spring控制反轉(zhuǎn)IOC原理

    深入了解Spring控制反轉(zhuǎn)IOC原理

    IOC-Inversion?of?Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章將為大家介紹一下Spring控制反轉(zhuǎn)IOC的原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 基于application和bootstrap的加載順序及區(qū)別說(shuō)明

    基于application和bootstrap的加載順序及區(qū)別說(shuō)明

    這篇文章主要介紹了application和bootstrap的加載順序及區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 關(guān)于BufferedReader的讀取效率問(wèn)題

    關(guān)于BufferedReader的讀取效率問(wèn)題

    這篇文章主要介紹了關(guān)于BufferedReader的讀取效率問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring AI源碼分析流式回答(最新推薦)

    Spring AI源碼分析流式回答(最新推薦)

    本文我們將重點(diǎn)講解流式響應(yīng)的概念與實(shí)現(xiàn),畢竟,AI的流式回答功能與其交互體驗(yàn)密切相關(guān),是提升用戶滿意度的重要組成部分,我們將通過(guò)代碼示例來(lái)展示這一過(guò)程,幫助您更清晰地理解如何在實(shí)際應(yīng)用中進(jìn)行操作,感興趣的朋友一起看看吧
    2024-11-11
  • java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)

    這篇文章主要介紹了java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2014-02-02
  • SpringBoot接值實(shí)現(xiàn)方法詳解

    SpringBoot接值實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了SpringBoot接值實(shí)現(xiàn)方法,SpringBoot接值是指在SpringBoot應(yīng)用程序中接收請(qǐng)求參數(shù),從HTTP請(qǐng)求中獲取參數(shù),并將其綁定到Java對(duì)象中進(jìn)行處理的過(guò)程,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • Spring整合SpringMVC與Mybatis(SSM)實(shí)現(xiàn)完整登錄功能流程詳解

    Spring整合SpringMVC與Mybatis(SSM)實(shí)現(xiàn)完整登錄功能流程詳解

    開(kāi)學(xué)學(xué)校開(kāi)始講servlet 后期要求做一個(gè)登錄功能,這個(gè)使用SSM先只做個(gè)簡(jiǎn)單的只帶登錄功能的,且項(xiàng)目使用了MyBatis-Plus來(lái)簡(jiǎn)化開(kāi)發(fā)流程。看情況決定要不要升級(jí)功能或者換個(gè)寫(xiě)法
    2022-09-09

最新評(píng)論

横山县| 中江县| 绍兴县| 成都市| 通山县| 吉木萨尔县| 邵阳市| 杭锦后旗| 贵定县| 成武县| 曲麻莱县| 时尚| 台东县| 缙云县| 大姚县| 耿马| 抚顺市| 开封县| 沈丘县| 巫溪县| 资阳市| 神农架林区| 沾益县| 宽甸| 中卫市| 广汉市| 海淀区| 延安市| 绥宁县| 新宾| 贵溪市| 博野县| 昌宁县| 蒙阴县| 唐海县| 湘阴县| 富裕县| 安塞县| 竹北市| 浦江县| 云霄县|