真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java八進制代碼,java輸出八進制

java編程實現(xiàn)給出一個3位八進制數(shù)求出對應(yīng)的十進制數(shù)

以下是C++的:

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的開化網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

#includeiostream

using namespace std;

int main()

{

int a,b,c,d;

cout"請輸入待轉(zhuǎn)換的數(shù):";

cina;

//二進制分別計算每一位

if(a==0)couta;

b=a;c=0;d=1;

while(b!=0)

{

c+=(b%2)*d;//依次把b除以2的余數(shù)寫在c的對應(yīng)位置上

b=b/2;

d*=10;

}

coutcendl;

//八進制和十六進制使用格式化輸出即可,oct表示八進制,hex表示十六進制

coutoctaendl;

couthexaendl;

}

java怎樣將十進制轉(zhuǎn)為八進制的數(shù)的編碼

String oct = Integer.toOctalString( args);//括號里是要轉(zhuǎn)換的十進制數(shù)

八進制和十六進制是字符串形式,轉(zhuǎn)換出來后要有String類引用。

八進制字符串轉(zhuǎn)為10進制

int s = Integer.parseInt(oct, 8);//第一個參數(shù)是要轉(zhuǎn)換為10進制的字符串,第二個參數(shù)是表明字符串是幾進制的數(shù),這里是8進制。也可以是2,10,16.

java方法利用棧,將十進制數(shù)轉(zhuǎn)換成八進制的數(shù)

import java.util.Scanner;

import java.util.Stack;/**

* 將十進制數(shù)轉(zhuǎn)換為八進制數(shù)

*

* @author austin

*/

public class DecimalToOctalConvertor { /**

* @param args

*/

public static void main(String[] args) {

/*

* 接收一個用戶從通過鍵盤輸入的整數(shù),作為要轉(zhuǎn)換的十進制數(shù)

*/

Scanner reader = new Scanner(System.in);

System.out.print("請輸入要轉(zhuǎn)換的十進制數(shù):");

int decimalNum = reader.nextInt(); /*

* 采用除8取余,從下至上的算法來計算八進制數(shù):即用進制數(shù)除以8,然后將所得余數(shù)作為8進制數(shù)的低位數(shù),再用所得的商繼續(xù)除以8,以此類推,直到商為0為止

* 在這個過程中,每次的余數(shù)都需要保存到一個列表中,而且后添加到列表中的元素要先輸出,即后進先出,因此采用棧結(jié)構(gòu)來處理

*/

StackInteger octalStack = new StackInteger();

int temp = decimalNum;

do {

octalStack.push(temp % 8); // 將除以8所得的余數(shù)添加到棧中

temp /= 8; // 計算除以8所得的商

}

while (temp != 0); // 如果商不為0,則繼續(xù)計算下去 /*

* 采用后進先出的方式輸入棧中的元素,就得到了所要求的八進制數(shù)

*/

System.out.print("八進制:0");

while (!octalStack.isEmpty()) {

System.out.print(octalStack.pop());

}

System.out.println();

}

}

JAVA進(JAVA程序關(guān)于八進制和16進制)

只向你講解一下整數(shù)部分的轉(zhuǎn)換規(guī)則。至于小數(shù)部分,則比較復(fù)雜。

先說非十進制轉(zhuǎn)十進制,比較簡單:

將數(shù)從右到左編號,最右邊的編號是0,右邊第二位編號為1,依此類推.

將給定數(shù)的各位值乘以進制的編號次方,再得到的結(jié)果相加即可.說起來不好理解,舉個例子:

二進制:10101

編號: 43210

計算:1*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0

= 1 * 16 + 0*8 + 1*4 + 1*1 = 21(十進制)

十六進制:0xA9D3

編號:3210

計算:A*16^3 + 9*16^2 + D*16^1 + 3*16^0

=10*4096 + 9*256 + 13*16 + 3 = 43475(十進制)

不信可以用WINDOWS自帶的計算器驗證.(查看-科學(xué)型).

====

至于十進制轉(zhuǎn)非十進制,比較麻煩,要用到 連續(xù)除法求余 的計算.

用給定的數(shù)除以進制(如8,16,2),將得到商和余數(shù),再將商除以進制,又得到商和余數(shù).一直除到商為0為止.

然后將 所有得到的余數(shù) 按照出現(xiàn)的 相反 的順序排列起來,即得到結(jié)果.

舉例:

124(十進制)轉(zhuǎn)二進制,連續(xù)除以"2",運算如下:

被除數(shù)/進制 = 商……余數(shù)

124 /2 = 62……0

62 /2 = 31……0

31 /2 = 15……1

15 /2 = 7……1

7 /2 = 3……1

3 /2 = 1……1

1 / 2 = 0……1

將所有出現(xiàn)的余數(shù)從后向前排列,就得到最后結(jié)果為:1111100

同樣,將其轉(zhuǎn)為八進制:

124 /8 = 15……4

15 /8 = 1……7

1 /8 = 0……1

結(jié)果即為174(八進制).

同樣可在計算器上試驗一下.

十六進制轉(zhuǎn)八進制 java

package hextooctal;

import java.util.HashMap;

public class HexToOctal {

public static void main(String[] args) {

String str = hexToOctal("1a5f");

System.out.println(str);

}

//十六進制轉(zhuǎn)八進制

public static String hexToOctal(String str) {

String s = hexToBinary(str);

//System.out.println(s);

String s1 = binaryHandle(s);

//System.out.println(s1);

return binaryToOctal(s1);

}

//十六進制轉(zhuǎn)成二進制

public static String hexToBinary(String hexNum){

char[] chs = {'0','1'};

String str = new String("0123456789ABCDEF");

char[] charArray = hexNum.toUpperCase().toCharArray();

int pos = charArray.length*4;

char[] binaryArray = new char[pos];

for (int i = charArray.length - 1; i =0; i--) {

int temp = str.indexOf(charArray[i]);

for(int j=0;j4;j++){

binaryArray[--pos] = chs[temp 1];

temp = temp 1;

}

}

return new String(binaryArray);

}

//二進制轉(zhuǎn)成八進制

public static String binaryToOctal(String binary){

HashMapString,Character map = new HashMapString, Character();

map.put("000", '0');

map.put("001", '1');

map.put("010", '2');

map.put("011", '3');

map.put("100", '4');

map.put("101", '5');

map.put("110", '6');

map.put("111", '7');

int pos = binary.length()/3;

char[] octArray = new char[pos];

for(int i = binary.length();i0;i-=3){

String s = binary.substring(i-3,i);

octArray[--pos] = map.get(s);

}

return new String(octArray);

}

//處理二進制字符串

public static String binaryHandle(String binary){

String str = binary.substring(binary.indexOf('1'));

int len = str.length();

if(len%3==0)

return str;

else if(len%3 == 1)

return "00"+str;

else

return "0" + str;

}

}

求Java大神,十進制轉(zhuǎn)八進制,請問我的代碼該怎么改

十進制轉(zhuǎn)八進制JDK有提供API,

十進制轉(zhuǎn)八進制最簡單的方法:

System.out.println("10的八進制="+Integer.toOctalString(10));

System.out.println("10的二進制="+Integer.toBinaryString(10));

System.out.println("10的八進制="+Integer.toOctalString(10));

System.out.println("10的十六進制="+Integer.toHexString(10));


當(dāng)前名稱:java八進制代碼,java輸出八進制
標(biāo)題鏈接:http://weahome.cn/article/hoeoee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部