「java三进制转换」三进制转换为二进制
本篇文章给大家谈谈java三进制转换,以及三进制转换为二进制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java实现:整数进制相互转换
- 2、Java做求A,B,C,以三进制的形式
- 3、java里面二进制 八进制 十进制 十六进制怎么互相转换,有什么规律?
- 4、关于如何实现从十六进制转化成三进制的java实现
- 5、java编程实现给出一个3位八进制数求出对应的十进制数
- 6、java中
java实现:整数进制相互转换
java实现:整数进制相互转换的方法:
十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法
(1)十进制转为二进制: Integer.toBinaryString(int i);
public static String toBinaryString(int i):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
(2)十进制转为8进制 :Integer.toOctalString(int i);
public static String toOctalString(int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
(3)十进制转为16进制: Integer.toHexString(int i);
public static String toHexString(int i):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
举例:
String bin = Integer.toBinaryString(10);
String oct = Integer.toOctalString(10);
String hex = Integer.toHexString(10);
2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。
Integer.parseInt(String s,int radix);
public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;
Integer.valueOf(String s,int radix);
public static Integer valueOf(String s, int radix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
举例:
try{
int i = Integer.parseInt("a", 16);
//输出为10进制数10
System.out.println(i);
}catch (Exception e){
e.printStackTrace();
}
try{
//十六进制转成十进制
String hex = Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
String oct = Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
String bin = Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch (Exception e){
e.printStackTrace();
}
Java做求A,B,C,以三进制的形式
public class Main {
public static void main(String[] args) {
int i = 0;
String s;
while(!(s = getThree(i)).equals("cccccc")){
System.out.println(s+ " = " + i);
i++;
}
System.out.println(s+ " = " + i);
}
private static String getThree(int i) {
String rlt = "";
int j;
while(true){
j = i % 3;
switch(j) {
case 0:
rlt += "a";
break;
case 1:
rlt += "b";
break;
case 2:
rlt += "c";
break;
}
if((i /= 3) == 0){
break;
}
}
return rlt;
}
}
运行结果
a = 0
b = 1
c = 2
ba = 3
bb = 4
bc = 5
ca = 6
。。。。。。
ccccbc = 725
ccccca = 726
cccccb = 727
cccccc = 728
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实现
十六进制中所有字母(a-f)都必须是小写。
十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。
给定的数确保在32位有符号整数范围内。
java编程实现给出一个3位八进制数求出对应的十进制数
以下是C++的:
#includeiostream
using namespace std;
int main()
{
int a,b,c,d;
cout"请输入待转换的数:";
cina;
//二进制分别计算每一位
if(a==0)couta;
b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
coutcendl;
//八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制
coutoctaendl;
couthexaendl;
}
java中
是位移运算服, 左移运算,右移运算,还有不带符号的位移运算 .
左移的运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。
计算过程已130为例,首先把1转为二进制数字 0000 0000 0000 0000 0000 0000 0000 0001
然后将上面的二进制数字向左移动30位后面补0得到 0010 0000 0000 0000 0000 0000 0000 0000
最后将得到的二进制数字转回对应类型的十进制
程序运行结果
另外两种的运算规则为
运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1.
运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同
关于java三进制转换和三进制转换为二进制的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。