java进制运算(java中的进制)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈java进制运算,以及java中的进制对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、二进制数比如1001 1001 0000 00,java语言我要分别取到每一位的数值该怎么写?
- 2、java十进制转二进制代码怎么解决?
- 3、用JAVA将十进制转换成十六进制
- 4、Java常用几进制?
- 5、java中如何将十进制数字转化成二进制?
- 6、java中二进制怎么表示
二进制数比如1001 1001 0000 00,java语言我要分别取到每一位的数值该怎么写?
可以使用位运算符来实现,比如:
int num = 0b1001_1001_0000_00;
int firstBit = num 0b1;
int secondBit = (num 1) 0b1;
int thirdBit = (num 2) 0b1;
int fourthBit = (num 3) 0b1;
// 以此类推,可以取到每一位的数值

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将十进制转换成十六进制
1、用Integer.toHexString方法即可将十进制装成十六进制。
package com.test;
public class Test {
public static void main(String[] args) {
int i = 123;
System.out.println(Integer.toHexString(i));
}
}
2、运行结果如下十进制的123转化成十六进制的7b
3、Integer.toHexString方法返回的结果是字符串。
4、直接表达16进制,在JAVA里面可以在数字前加"0x",像这样
int j = 0x7b;
System.out.println(Integer.decode("0x7b"));
Java常用几进制?
Java常用十六进制。
1、计算机硬件是0101二进制的,16进制刚好是2的倍数,更容易表达一个命令或者数据
2、最早规定ASCII字符集采用的就是8bit(后期扩展了,但是基础单位还是8bit),8bit用2个16进制直接就能表达出来,不管阅读还是存储都比其他进制要方便
3、计算机中CPU运算也是遵照ASCII字符集,以16、32、64的这样的方式在发展,因此数据交换的时候16进制也显得更好
4、为了统一规范,CPU、内存、硬盘我们看到都是采用的16进制计算
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中二进制怎么表示
一、二进制的表示方法
有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中的进制、java进制运算的信息别忘了在本站进行查找喔。
