『壹』 java中什麼數據類型佔4個位元組
int, float
一個是整型變數(-2147483648~2147483647),另一個是浮點型(3.40282*10^38~1.17549*10^-38)
『貳』 在java中,int類型佔四個位元組,而byte類型佔一個位元組
不是的,你這是理解錯誤,也是被混洧了,是初學者最容易犯的錯!
int 四位元組沒錯 byte一位元組也沒錯
但一個位元組有8位哦!
先看byte,byte佔一位元組,一位元組等於八位
我們來看看一個位能表示多少東西: 最小0 最大1 表示 2的1次方
再看看兩個位能表示多少東西: 最小00 最大11 共2的2次方, 能表達四個數
再看看三個位能表示多少東西: 最小000 最大111 共2的3次方,能表達8個數
那八個位能表示多少?
最小:00000000 最大:11111111 這就是8位 也叫一個位元組
如果用數沒有正負之分那可以表示 0~255 共256個數字. 也可以叫做 2的8次方,你用計算器算算,2的8次方是不是等於256?
如果數有正負之分那可以表示-128~+127 也是256個數,因為8位裡面拿走一個位用來表示正負了,所以只能表示最大127
接下來 : 9位 = 2的九次方 =512個數字
接下來: 10位 = 2的十次方 =1024 個 ..... 以此類推
現在知道答案了吧:
1 byte = 1位元組 = 8bit 可表達 2的八次方個數字
1 short= 2位元組 = 16bit 可表達2的十六次方個數字
1 int = 4位元組 = 32bit 可表達2的32次方
『叄』 java 如何將byte[4]數組轉換成一個int型數據
java中將4位元組的byte數組轉成一個int值的工具方法如下:
/**
* @param byte[]
* @return int
*/
public static int byteArrayToInt(byte[] b){
byte[] a = new byte[4];
int i = a.length - 1,j = b.length - 1;
for (; i >= 0 ; i--,j--) {//從b的尾部(即int值的低位)開始數據
if(j >= 0)
a[i] = b[j];
else
a[i] = 0;//如果b.length不足4,則將高位補0
}
int v0 = (a[0] & 0xff) << 24;//&0xff將byte值無差異轉成int,避免Java自動類型提升後,會保留高位的符號位
int v1 = (a[1] & 0xff) << 16;
int v2 = (a[2] & 0xff) << 8;
int v3 = (a[3] & 0xff) ;
return v0 + v1 + v2 + v3;
}
『肆』 Java語言的數據類型,int和float能自動轉換嗎都是4位元組,擱一塊兒轉換成啥類型
int和float能自動轉換的,運算會先自動轉換為兩個float,然後進行運算(如果int的有效數字較多,可能會丟失部分數據),最後的結果只能保證7位有效數據。
『伍』 JAVA中整型為何佔用4位元組
你定義的是三個
整型數據
,unum1
,
unum2,unum3是數據的名稱,而不是數據本身,所以是各佔四個位元組。又如char
ab,bc,cd
同樣的這三個數據各佔一個位元組,因為這也是一個字元數據的名稱而不是數據本身。string
s="abc";這樣的S就是佔用了三個位元組的空間。希望我解釋的對你有所幫助。
『陸』 為什麼java中的int型佔4個位元組,而c語言中的int卻佔2個位元組, 一個整型值佔多少個位元組不是取決於電腦嗎
C的數據類型占的位元組數不同應該和編譯器有關,比如int和long不同編譯器就不一樣。
char就不一樣了,java占兩個字元,C佔一個字元。這就像樓上說的java使用unicode編碼,而C用ASCII編碼。所以java要佔兩個位元組,而且char可以存儲漢字
而java和C在int方面沒有可比性。C中的
int范圍應該等於java的short吧
『柒』 java中整形佔四個位元組
Integer是定長的,不管什麼值只要在范圍內都是32bit,佔4位元組
『捌』 java int為什麼佔4個位元組,是怎麼算的呢
int是最基本的類型,一般和CPU的字寬一致
為了和CPU的字寬一致,提高處理速度。。。
int佔多少個位元組是由編譯器決定的,ansi標準定義int是佔2個位元組.
tc是按ansi標準的,它的int是佔2個位元組的.
你可以在tc里試.printf("%d",sizeof(int));結果是2;
但是在vc里,一個int是佔4個位元組的,在vc裡面,
printf("%d",sizeof(int));
cout<<sizeof(int);結果都是4.
不同的編譯器,規定也不一樣.
float,double也是一樣的,在不同的編譯器里,占的位元組是不一樣的.
『玖』 JAVA中一個整數佔了4個位元組,怎麼辦
是說一個int型佔了4個位元組的內存。。不論哪個數字都一樣
當你輸入代碼 例如int a;
java 就會在內存中開辟4個位元組 也就是32位二進制 的內存空間 用來存放 你所輸入的數字,你的6在內存會變成這樣子0000 0000 0000 0000 0000 0000 0000 0110
如果只是一個位元組的話,那時byte 的存儲空間
short是 2個位元組 long 是8個位元組 。。所以可以根據你需要的內存,定義什麼樣的整形。
byte short int long 就是整形的四個不同類型,
『拾』 java 操作字元串時,怎麼獲得整個字元串4位元組長度
位元組么??一個漢字2個位元組啊,就是這個特殊情況吧
privateintnative2ascii(Stringnativecode)
{
char[]natives=nativecode.toCharArray();
intlen=0;
for(inti=0;i<natives.length;i++)
{
intcode=String.valueOf(natives[i]).codePointAt(0);
if(code>127)
{
StringcharAscii=Integer.toHexString(code);
charAscii="0000".substring(charAscii.length(),4)+charAscii;
len+=2;
}
else
{
len++;
}
}
returnlen;
}