javaInt占幾個字節
一個字節等於8位;1 byte = 8 bit。
在java中的中文和英文字母都是采用Unicode編碼來表示的,一個Unicode編碼為16位,1個字節是8位,所以1個Unicode碼占2個字節。
不過英文字母比較特殊,它源自於1字節8位的ASCII碼,所以在Unicode編碼中只使用了低8位也就是1字節來表示,高8位也可以用來表示,不使用高8位的話也沒關系。
String str = “w”;
syso(str.getBytes().length);
得到的是1字節。
漢字完整使用了16位的Unicode編碼;
String str2 = “我”;
syso(str2.getBytes().length);
得到的是2字節。(如果是GBK編碼;UTF-8:可能是2個,3個或者4個字節;GBK:2個;GB2312:2個)
本文轉至:https://blog.csdn.net/jinkaixi/article/details/83588082
靈魂拷問:什么是字節?
字節(Byte )是計算機信息技術用於計量存儲容量的一種計量單位,作為一個單位來處理的一個二進制數字串,是構成信息的一個小單位。最常用的字節是八位的字節,即它包含八位的二進制數。
字節是計算機什么的基本單位
1和0是計算機儲存的基本單位,包括現在電腦上看到的所有一切都是由1和0兩個數組成的,一個即是一個位,8位(bit)一個字節,我們在電腦中看到的圖像視頻等都是計算機通過對儲存器中無數個1和0的計算得來的。
1字節可以表示的最大十進制數是多少?
因為一個字節是二進制的八位,那么最大就是11111111(二進制)。轉換成十進制 為255
用int來舉個例子,4個字節 32位,2進制表達位 1111....11 (32個1),轉換成十進制為 4294967296
Int的取值范圍為 (-2^32,2^32 - 1) 即 -2147483648 到 2147483647
課后作業:為什么取值范圍正數要減1?知道后請留言,相互印證!