① java中如何將十進制數字轉化成二進制
如果表達小於2^31-1的正數代碼如下:
public void binaryToDecimal(int n){
int t = 0; //用來記錄位數
int bin = 0; //用來記錄最後的二進制數
int r = 0; //用來存儲余數
while(n != 0){
r = n % 2;
n = n / 2;
bin += r * Math().pow(10,t);
t++;
}
System.out.println(bin);
}
使用字元串的拼接(+)來實現大於2^31-1的數,代碼如下:
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}
可以右移後再與0x01進行&運算得到第一位的數字判斷判斷它的第幾位上是0,第幾位上是1,代碼如下:
class ByteMove
{
public static void main(String[] args)
{
int i = 7;
move(i);
}
static void move(int num){
for(int i= 0;i<6;i++){
System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));
}
}
}
② java中,(byte)10 == (byte)0x0A嗎
相等。
0x代表16進制,在16進制中A就代表10,所以轉換為10進制時A就等於10。
③ Java 十進制轉二進制!要求如下: Byte Short Int Long 跟據不同的bits數轉二進制!如:50轉"00110010"
int i=50;
System.out.println(Integer.toBinaryString(i));
④ 用java,把十進制byte類型數字轉換為,十六進制的byte類型數字,格式為"0x28",這樣的!
publicclassMa{
publicstaticvoidmain(String[]args){
bytea=40;
Stringa0=Integer.toHexString(a);
System.out.println("0x"+a0);
}
}