「java数字反转什么原理」编程数字反转
本篇文章给大家谈谈java数字反转什么原理,以及编程数字反转对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java二进制反转
- 2、Java程序实现把一个数字倒过来的功能,比如123变成321,注意是数字不是字符串。
- 3、java循环把一个数字倒过来
- 4、java解释代码 关于数组串反转的。。。
- 5、JAVA中的按位取反什么意思
Java二进制反转
public class BinaryReverse
{
private static String s = null;
public static void main(String[] args)
{
BinaryReverse br = new BinaryReverse();
Scanner sc = new Scanner(System.in);
byte tempbyte;
System.out.println("请输入要反转的数字:");
s = sc.nextLine();
tempbyte = Byte.valueOf(s);
tempbyte = br.converse(tempbyte); //开始反转
System.out.println("翻反转后十进制: " + tempbyte);
}
public Byte converse(Byte c)
{
String binaryString = null;
StringBuffer needAdd = new StringBuffer();
binaryString = Integer.toBinaryString(Math.abs(c));
System.out.println(binaryString);
if (s.startsWith("-"))
{
if (binaryString.length() 8)
{
needAdd.append("1");
}
}
else
{
if (binaryString.length() 8)
{
needAdd.append("0");
}
}
for (int i = 0; i (7 - binaryString.length()); i++)
{
needAdd.append("0");
}
binaryString = needAdd.append(binaryString).toString();
System.out.println("原数二进制为: " + binaryString);
String reverseString = needAdd.reverse().toString();
System.out.println("反转后二进制为: " + reverseString);
if (s.startsWith("-"))
{
int i = 0;
for (int j =reverseString.length(),y = 0 ; j 1 ; j--,y++)
{
i = (int) (i + Integer.valueOf(reverseString.charAt(j-1)+"")*Math.pow(2,y));
}
if (reverseString.charAt(0) == '1')
{
i = -i;
}
return (byte)i;
}
return Byte.valueOf(reverseString,2);
}
}
不要忘了加分哦
Java程序实现把一个数字倒过来的功能,比如123变成321,注意是数字不是字符串。
//正负整数
int re = 0;
int in = 1237845;
while(in != 0){
re*=10;
re+= in%10;
in/=10;
}
System.out.println(re);//5487321
java循环把一个数字倒过来
这个简单,假如说你说的数字为:1234
那么让他输也为:4321
代码如下:
int num = 1234;
int a = num / 1000; //可得到千位上的数 1
int b = num % 1000 / 100; //可得到百位上的数 2
int c = num % 1000 % 100 / 10; //可得到十位上的数 3
int d = num - (a*1000+b*100+c*10);//可得到个位上的数 4
System.out.println(d*1000+c*100+b*10+a);
运行结果为:4321
java解释代码 关于数组串反转的。。。
public static void reverseArray(Object[]originalArray){
//originalArray.length/2,originalArray数组的一半长度
for(int i=0;i originalArray.length/2;i ++){
Object temp = originalArray[i];//Object类型的temp临时变量
/*将originalArray数组的最后一个值赋值给originalArray的第一个值
originalArray第一个值已经赋值给临时变量temp*/
originalArray[i]=originalArray[originalArray.length-1-i];
//最后一个值重新赋值为originalArray数组的第一个值
originalArray[originalArray.length-1-i] = temp;
}
//return originalArray;
}
简单举例说明String[]originalArray = {"1", "2", "3", "4"}
当i为0时
Object temp = originalArray[0];//originalArray[0]为1
//originalArray.length = 4,所以originalArray.length-1-0=3
originalArray[0]=originalArray[3];//将4赋值给数组的第一个位置
originalArray[3] = temp;//将1赋值给数组的第4个位置
i=0执行完后数组为String[]originalArray = {"4", "2", "3", "1"}
JAVA中的按位取反什么意思
按位取反
~ 01101101
10010010
结论:对二进制数按位取反,即0变成1,1变成0。
java数字反转什么原理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于编程数字反转、java数字反转什么原理的信息别忘了在本站进行查找喔。