关于java里进制的转换问题
收藏个文章:http://caisu.blog.sohu.com/95569313.html
public static void bin(byte b) {
char[] charBits = toCharBits(b, 8);
outputWholeBits(charBits);
}
public static void bin(char b) {
char[] charBits = toCharBits(b, 16);
outputWholeBits(charBits);
}
public static void bin(short b) {
char[] charBits = toCharBits(b, 16);
outputWholeBits(charBits);
}
public static void bin(int b) {
char[] charBits = toCharBits(b, 32);
outputWholeBits(charBits);
}
public static void bin(long b) {
char[] charBits = toCharBits(b, 64);
outputWholeBits(charBits);
}
public static void bin(float a) {
char[] charBits = toCharBits(Float.floatToIntBits(a), 32);
outputFloatBits(charBits);
}
public static void bin(double a) {
char[] charBits = toCharBits(Double.doubleToLongBits(a), 64);
outputDoubleBits(charBits);
}
//转二进制数组
static char[] toCharBits(long num, int size) {
char[] charBits = new char[size];
for (int i = size-1; i > = 0; --i) {
charBits[i] = (num & 1) == 0 ? '0 ' : '1 ';
num > > > = 1;
}
return charBits;
}
//整数打印,4位一逗号
static void outputWholeBits(char[] charBits){
for(int i = 0; i < charBits.length; i++){
System.out.print(charBits[i]);
if((i % 4 == 3)&&(i != charBits.length-1)) {
System.out.print( ", ");
}
}
System.out.println();
}
//float打印(符号位1, 指数位8, 尾数位23)
static void outputFloatBits(char[] charBits){
for(int i = 0; i < charBits.length; i++){
System.out.print(charBits[i]);
if((i == 0)||(i == 8)) {
System.out.print( " ");
}
}
System.out.println();
}
//double打印(符号位1, 指数位11, 尾数位52)
static void outputDoubleBits(char[] charBits){
for(int i = 0; i < charBits.length; i++){
System.out.print(charBits[i]);
if((i == 0)||(i == 11)) {
System.out.print( " ");
}
}
System.out.println();
}
分享到:
相关推荐
主要介绍了Java实现的进制转换工具类,结合完整实例形式分析了Java实现二进制、十六进制、字符串、数组等相关转换操作技巧,需要的朋友可以参考下
一个用java写的进制转换器,有图形界面。 主要是调用java的lang类进行转换。
java 26进制转换 使用更方便
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
java编写通用进制转化程序,适合java中学习进制转换
废话不多上干货! /** * 个人数学工具 * * @author Suage */ class Convert { ... //输入进制 private int sysIn; //输出进制 private int sysOut; //输入实际值 private double actualValue;
JAVA实用进制转换,各进制数据转换函数~
二进制的转换;数据类型的由来,java的进制转换,数据的类型范围,转码,补码,反码的算法
Java进制转换 正整数的十进制转换二进制 将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。 由于计算机...
二进制数组转换为二进制字符串 将二进制数组转换为十六进制字符串 将十六进制转换为二进制字节数组 将十六进制转换为二进制字符串
java学习,java各进制转换类,方便使用java开发重利用。
java桌面小应用程序 任意进制转换任意进制,包含从字符、字符串 转换为其他进制数
一个整数的进制转换,用的全部是JAVA封装好的类,只是练练排版 开发环境为JAVA6 里面有一个swing外观包,找的很辛苦又不会使用的可以学习下,本程序调用的是office2007外观,个人感觉很漂亮,而且我写的很多程序都用...
JAVA实用进制转换.pdf
本代码用JAVA语言编写,实现了十进制,二进制,十六进制和八进制的转换
一、利用Integer将十进制的数进行进制转换 方法 十进制转换其他进制 使用方法 返回值 10进制转2进制 Integer.toBinaryString(n) 一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符...
java语言编写的十进制正数和负数转换二进制算法。
本程展示如何使用Java中Swing程序来设计进制转换器,实现十进制到二进制,八进制,十六进制的转换。