Java tutorial
/* * @(#)$Id: StringUtils.java 3619 2008-03-26 07:23:03Z yui $ * * Copyright 2006-2008 Makoto YUI * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Contributors: * Makoto YUI - initial implementation */ //package xbird.util.string; /** * * <DIV lang="en"></DIV> * <DIV lang="ja"></DIV> * * @author Makoto YUI (yuin405+xbird@gmail.com) */ public final class StringUtils { public static String toBitString(final double d) { final char[] bit = new char[64]; final long dd = Double.doubleToLongBits(d); long mask = 1L; for (int i = 0; i < 64; i++) { final long bitval = dd & mask; if (bitval == 0) { bit[63 - i] = '0'; } else { bit[63 - i] = '1'; } mask <<= 1; } return String.valueOf(bit); } public static String toBitString(final float f) { final char[] bit = new char[32]; final int ff = Float.floatToIntBits(f); int mask = 1; for (int i = 0; i < 32; i++) { final int bitval = ff & mask; if (bitval == 0) { bit[31 - i] = '0'; } else { bit[31 - i] = '1'; } mask <<= 1; } return String.valueOf(bit); } public static String toBitString(final long n) { final char[] bit = new char[64]; long mask = 1L; for (int i = 0; i < 64; i++) { final long bitval = n & mask; if (bitval == 0) { bit[63 - i] = '0'; } else { bit[63 - i] = '1'; } mask <<= 1; } return String.valueOf(bit); } public static String toBitString(final int n) { final char[] bit = new char[32]; int mask = 1; for (int i = 0; i < 32; i++) { final int bitval = n & mask; if (bitval == 0) { bit[31 - i] = '0'; } else { bit[31 - i] = '1'; } mask <<= 1; } return String.valueOf(bit); } public static String toBitString(final byte[] b) { final char[] bits = new char[8 * b.length]; for (int i = 0; i < b.length; i++) { final byte byteval = b[i]; int bytei = i << 3; int mask = 0x1; for (int j = 7; j >= 0; j--) { final int bitval = byteval & mask; if (bitval == 0) { bits[bytei + j] = '0'; } else { bits[bytei + j] = '1'; } mask <<= 1; } } return String.valueOf(bits); } }