JavaSE8基础 Integer.toString 将十进制类型转为指定进制[2,36]的表达形式

os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
code:

package jizuiku3;

public class Demo010 {
	public static void main(String[] args) {
		System.out.println(Integer.toString(127, 2));//127的二进制
		System.out.println(Integer.toString(36*35, 36));//127的三十六进制
		//三十六进制 => 26个字母 + 10个数字,(⊙o⊙)哦

	}
}

result:

sourceCode:

    public static String toString(int i, int radix) {
        if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
            radix = 10;

        /* Use the faster version */
        if (radix == 10) {
            return toString(i);
        }

        char buf[] = new char[33];
        boolean negative = (i < 0);
        int charPos = 32;

        if (!negative) {
            i = -i;
        }

        while (i <= -radix) {
            buf[charPos--] = digits[-(i % radix)];
            i = i / radix;
        }
        buf[charPos] = digits[-i];

        if (negative) {
            buf[--charPos] = ‘-‘;
        }

        return new String(buf, charPos, (33 - charPos));
    }



Java优秀,值得学习。
学习资源:API手册+Java源码+清净的心地。

时间: 2024-11-06 01:33:48

JavaSE8基础 Integer.toString 将十进制类型转为指定进制[2,36]的表达形式的相关文章

JavaSE8基础 Integer.toString 将int类型转为同面值的String类型

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku3; public class Demo001 { public static void main(String[] args) { int num = 1;//int 没有 tostring方法 Integer i = new Integer(num);//Integer有

JavaSE8基础 Integer.valueOf 把int类型变为Integer类型

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku3; public class Demo1000 { public static void main(String[] args) { Integer i = Integer.valueOf(1234); } } sourceCode: public static Integ

python 十进制整数转换为任意进制(36以内)

def baseN(num, b): return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

java基础:十进制转换到任意进制

十进制转换到其他进制: 除基取余,直到商为0,余数反转.

十进制转换成其它进制的通用写法(查表法)

 //十进制转换成其它进制的通用写法(查表法)  class Transform  { public static void main(String[] args) {    toHex3(60);    System.out.println();    toOctal2(20);    System.out.println();    toBinary2(6); }  public static void toAny(int num,int base,int offSet)  {   char

java中整数类型的2进制表示

java中的4种整数类型:byte,short,int,long均采用补码表示. 如下图右边所示 在java中对二进制数没有"字面"表示方法.十六进制可以用OX或者Ox指示,八进制可以用O指示. 下面的代码可以输出byte类型的数据的2进制表示形式: public class Test { public static void main(String[] args) { byte a = -128; test(a); } public static void test(byte m){

支持windows linux下将指定内存段转为16进制与ascii码的日志输出类

来源:http://blog.csdn.net/lezhiyong 1. 简介 将指定内存段转为16进制与asci码的输出到日志文件的类. 2. 功能介绍 1) 支持window与linus双系统. 2) 可指定输出目录. 3) 日志能输出的时间精确到毫秒,日志能输出线程号. 4) 提供字符串输出. 5) 提供指定内存转换为16进制输出. 6) 提供指定内存转换为16进制和ascii码同时输出. 7) 可调整16进制输出间距. 3. 原理和算法 1) 模块是基于C++语言编写: 2) 通过条件定

NOJ 1012 进制转换(十进制转换成任意进制)

题目: 进制转换 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 1819            测试通过 : 525  题目描述 将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10. 输入 多行.第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10. 输出 多行.每行给出转换后的R进制数. 样例输入 37 223 12-4 

C语言将10进制转为2进制

第一种方法: #include<stdio.h> void dectobin(int n); int main() { int x=0; scanf("%d",&x);//只能正数 dectobin(x); printf("\n"); return 0; } void dectobin(int n) { if(n/2>0) { dectobin(n/2); printf("%d",n%2); } else { print