java八进制
以下是C++的:
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
cout<<"请输入待转换的数:";
cin>>a;
//二进制分别计算每一位
if(a==0)cout<<a;
b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
cout<<c<<endl;
//八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制
cout<<oct<<a<<endl;
cout<<hex<<a<<endl;
}
⑵ java里面二进制 八进制 十进制 十六进制怎么互相转换,有什么规律
=============(正)十进制转二进制
除二将余数倒置
eg: 127 /2
商:63 /2 31 /2 15 /2 7 /2 3 /2 1
余数:1 1 1 1 1 1
1111111
=============(负)十进制转二进制
1、先求负数绝对值的二进制
2、将得到的二进制完全取反+1
eg: -12
1、0000 1100
2、1111 0011 + 1 = 1111 0100
=============(正)十进制转八进制
除八将余数倒置
eg:54 /8 =66
6
6
=============(负)十进制转八进制
1、先将十进制转为二进制
2、再将二进制转为八进制
eg:-32
1、0010 0000
2、1110 0000
3、三位三位转
340
=============十进制转十六进制
1、先将十进制转为二进制
2、将二进制转为十六进制
=============二进制转为十进制
(正)二进制位上的各个数字乘以以2为底数,以自然数为次幂(自然数从0开始)
0110 1011 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 0*2^4 + 1*2^5 + 1*2^6 = 107
(负)
1、首先得到负号
2、将该二进制数取反+1
3、将得到的数转为十进制加上负号。
=============二进制转八进制
(1)将二进制三个三个分为一组,分别求出每组二进制的八进制值,将所得到的值依次排开
(2) 1、将二进制转为十进制
2、将十进制转为八进制
============二进制转十六进制
将二进制四个四个分为一组,分别求出每组二进制的十六进制值,将所得到的值依次排开
============八进制转二进制
(1)将八进制各个位上的数单个转为二进制,不足三位的补0
eg:127 001 010 111
(2) 1、将八进制转为十进制
2、再将十进制转为二进制
============八进制转十进制
八进制位上的各个数字乘以以8为底数,以自然数为次幂(自然数从0开始)
543 3*8^0 + 4*8^1 + 5*8^2 = 355
============八进制转十六进制
1、先将八进制转为二进制
2、再将所得的二进制转为十六进制
============十六进制转二进制
将十六进制各个位上的数单个转为二进制,不足四位的补0
eg:127 0001 0010 0111
============十六进制转其他进制
都需要先转为二进制,再转为其他进制
⑶ java二进制转八进制无参数怎么办
java二进制转八进制方法。设二进制数为100010101将三个数字拆成一块100010101100。
1、使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
⑷ java方法利用栈,将十进制数转换成八进制的数
import java.util.Scanner;
import java.util.Stack;/**
* 将十进制数转换为八进制数
*
* @author austin
*/
public class DecimalToOctalConvertor { /**
* @param args
*/
public static void main(String[] args) {
/*
* 接收一个用户从通过键盘输入的整数,作为要转换的十进制数
*/
Scanner reader = new Scanner(System.in);
System.out.print("请输入要转换的十进制数:");
int decimalNum = reader.nextInt(); /*
* 采用除8取余,从下至上的算法来计算八进制数:即用进制数除以8,然后将所得余数作为8进制数的低位数,再用所得的商继续除以8,以此类推,直到商为0为止
* 在这个过程中,每次的余数都需要保存到一个列表中,而且后添加到列表中的元素要先输出,即后进先出,因此采用栈结构来处理
*/
Stack<Integer> octalStack = new Stack<Integer>();
int temp = decimalNum;
do {
octalStack.push(temp % 8); // 将除以8所得的余数添加到栈中
temp /= 8; // 计算除以8所得的商
}
while (temp != 0); // 如果商不为0,则继续计算下去 /*
* 采用后进先出的方式输入栈中的元素,就得到了所要求的八进制数
*/
System.out.print("八进制:0");
while (!octalStack.isEmpty()) {
System.out.print(octalStack.pop());
}
System.out.println();
}
}
⑸ java怎样将十进制转为八进制的数的编码
十进制转八进制最简单的方法
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));
10的二进制=1010
10的八进制=12
10的十六进制=a
⑹ %o在Java中是什么意思
%o:表示把数据按八进制整型版输出。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
⑺ java十进制数转换成二进制,8进制以及16进制二进制转十进制
Java程序:
publicclassMain{
publicstaticvoidmain(String[]args){
intnum=1234;
System.out.println("十进制:"+num);
System.out.println("二进制:"+Integer.toBinaryString(num));
System.out.println("八进制:"+Integer.toOctalString(num));
System.out.println("十六进制:"+Integer.toHexString(num));
System.out.println();
Stringstr="10011010010";
System.out.printf("二进制:%s 十进制:%d ",str,Integer.parseInt(str,2));
str="2322";
System.out.printf("八进制:%s 十进制:%d ",str,Integer.parseInt(str,8));
str="4D2";
System.out.printf("十六进制:%s 十进制:%d ",str,Integer.parseInt(str,16));
}
}
运行测试:
十进制:1234
二进制:10011010010
八进制:2322
十六进制:4d2
二进制:10011010010 十进制:1234
八进制:2322 十进制:1234
十六进制:4D2 十进制:1234