本文目錄一覽:
- 1、java中二進制怎麼表示
- 2、java十進制轉二進制代碼怎麼解決?
- 3、java中如何將十進制數字轉化成二進制?
- 4、跪求「java中二進制怎麼表示」
- 5、Java中怎麼表示八進制和十六進制?
- 6、java編程:進制轉換
java中二進制怎麼表示
一、二進制的表示方法
有0,1組成。以0b開頭。
代碼的表示方法:
System.out.println(0b100)
二、不同進制的數據表現:
八進制:由0,1,….,7.以0開頭。
十進制:由0,1……,9.默認整數。
十六進制:由0,1,……9,a,b,c,d,e,f(大小寫均可)組成。
十進制:System.out.println(100);
八進制:System.out.println(0100);
十六進制: System.out.println(0x100);
擴展資料
java 判斷二進制文件的代碼:
public static boolean isBinary(File file)
{
boolean isBinary = false;
try {
FileInputStream fin = new FileInputStream(file);
long len = file.length();
for (int j = 0; j (int) len; j++) {
int t = fin.read();
if (t 32 t != 9 t != 10 t != 13) {
isBinary = true;
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return isBinary;
}
參考資料:百度百科 二進制
java十進制轉二進制代碼怎麼解決?
下面是根據十進制數轉二進制數的算法所寫的一段Java程序示例代碼:
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
Test t = new Test();
double d = 8;
String s = t.decimal2BinaryStr(d);
System.out.println(“十進制數”+d+”轉成二進制數為:”+s);
}
/**
* 十進制數轉二進制數
* @param d 十進制數
* @return 十進制數轉換成二進制的字符串
*/
public String decimal2BinaryStr(double d){
String result = decimal2BinaryStr_Inte(d);
result += decimal2BinaryStr_Deci(d);
return result;
}
/**
* 十進制整數部分轉二進制數
* @param d 十進制數
* @return 十進制整數部分轉換成二進制的字符串
*/
public String decimal2BinaryStr_Inte(double d){
// return Integer.toBinaryString((int)d);
/*
* 本來利用上面的Integer.toBinaryString(int)就可以得到整數部分的二進制結果,
* 但為了展示十進制轉二進制的算法,現選擇以下程序來進行轉換
*/
String result = “”;
long inte = (long)d;
int index = 0;
while(true){
result += inte%2;
inte = inte/2;
index++;
if(index%4 == 0){
result+=” “;
}
if(inte==0){
while(index%4!=0){
result+=”0″;
index++;
}
break;
}
}
char[] c = result.toCharArray();
char[] cc = new char[c.length];
for(int i=c.length; i0; i–){
cc[cc.length-i] = c[i-1];
}
return new String(cc);
}
/**
* 十進制小數部分轉二進制
* @param d 十進制數
* @return 十進制小數部分轉換成二進制小數的字符串
*/
public String decimal2BinaryStr_Deci(double d){
return decimal2BinaryStr_Deci(d, 0);
}
/**
* 十進制小數部分轉二進制
* @param d 十進制數
* @param scale 小數部分精確的位數
* @return 十進制小數部分轉換成二進制小數的字符串
*/
public String decimal2BinaryStr_Deci(double d, int scale){
double deci = sub(d,(long)d);
if(deci==0){
return “”;
}
//為了防止程序因所轉換的數據轉換後的結果是一個無限循環的二進制小數,因此給其一個默認的精確度
if(scale==0){
scale = (String.valueOf(deci).length()-2)*4;
}
int index = 0;
StringBuilder inteStr = new StringBuilder();
double tempD = 0.d;
while(true){
if(deci==0 || index==scale){
while(index%4!=0){
inteStr.append(“0”);
index++;
}
break;
}
if(index==0){
inteStr.append(“.”);
}
tempD = deci*2;
inteStr.append((int)tempD);
deci = sub(tempD ,(int)tempD);
index++;
if(index%4 == 0){
inteStr.append(” “);
}
}
return inteStr.toString();
}
/**
* 提供精確的減法運算。
* @param v1 被減數
* @param v2 減數
* @return 兩個參數的差
*/
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
}
例如將十進制數1234.5轉成二進制數為:0100 1101 0010.1000
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;i6;i++){
System.out.println(“第”+(i+1)+”位:” + (num i 0x01));
}
}
}
擴展資料:
在windows下編譯java文件、執行:
1、先創建一個txt,更改為test.java。
2、編寫代碼,為輸出為holloword。
3、找到cmd,並進行打開cmd。
4、編譯java文件,輸入命令為javac test.java。
5、如果沒有報錯,查看當前目錄下是否有class文件產生。
6、執行class文件,在命令輸入java test,輸出為holloword。
跪求「java中二進制怎麼表示」
java中二進制的表示:
1、Java中定義兩個數,然後分別打印出它們的二進制表示(例如7和-7):
System.out.println(“Java二進制7: “+Integer.toBinaryString(7));
System.out.println(“Java二進制-7: “+Integer.toBinaryString(-7));
輸出:
Java二進制7: 111
Java二進制-7: 11111111111111111111111111111001
7的二進制就是111
-7轉化二進制的過程:
(1)把-7轉化成7,二進制是 111
(2)Java中對於不滿32位的int二進制自動補齊,所以變成了 (29個0)111
(3)然後取反 (29個1)000
(4)然後加1 (29個1)001
擴展資料:
c語言中二進制的轉換:
用函數轉換itoa(值,數組名,進制)
#includestdio.h
#includestdlib.h
void main()
{
char str[8];
int i=8;
itoa(i,str,2);
printf(“%s”,str);
}
參考資料:
java二進制——百度百科
Java中怎麼表示八進制和十六進制?
八進制:int a=031; //8進制,以數字0開始。
十六進制:int b=0x1B; //16進制,以0x開始。
1、八進制數的表達方法:
如何表達一個八進制數呢?如果這個數是 876,我們可以斷定它不是八進制數,因為八進制
中不可能出7以上的阿拉伯數字。但如果這個數是123、是567,或12345670,那麼它是八進
數還是10進制數,都有可能。 所以規定,一個數如果要指明它採用八進制,必須在它前面
上一個0,如:123是十進制,但0123則表示採用八進制。這就是八進制數的表達方法。
2、十六進制數的表達方法 :
如果不使用特殊的書寫形式,16進制數也會和10進制相混。隨便一個數:9876,就看不出它是
16進制或10進制。 16進制數必須以 0x開頭。比如 0x1表示一個16進制數。而1則表示一個
進制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不區分大小寫。(注意:0x中的0是數字
0,而不是字母O) 。
java編程:進制轉換
Java中的進制轉換是通過基本數據類型類中的相應方法實現的。舉個例子:
public class IntegerChange {
public static void main(String[] args) {
String nm = new String(“445”);
int n = Integer.parseInt(nm);
System.out.println(“十進制表示:” + n);
System.out.println(“二進制表示:” + Integer.toBinaryString(n));
System.out.println(“八進制表示:” + Integer.toOctalString(n));
System.out.println(“十六進制表示:” + Integer.toHexString(n));
}
}
輸出結果:
十進制表示:445
二進制表示:110111101
八進制表示:675
十六進制表示:1bd
至於八進制轉換為十進制,十六進制,二進制等等都有相應的方法,具體的可以查看Java幫助文檔。
希望對你有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/245894.html