文档章节

java 二进制字符串转整型

o
 osc_z1hvg4cu
发布于 2018/04/24 21:59
字数 156
阅读 23
收藏 0

精选30+云产品,助力企业轻松上云!>>>

用惯了python,转到java发现居然没有好的转换工具,只好自己实现一把。

具体思路是:先将字符串转换为字符数组,遍历字符数组,将字符数组的值减去48,加上累计值,然后位移1位

public class BinStrToOct {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String bin="100000000000000000000000000101001010010100";
        System.out.println(binToOct(bin));

    }
    
    static long binToOct(String bin){
        long total=0;
        char [] binCharArray=bin.toCharArray();
        for (int i = 0; i < binCharArray.length; i++) {
            total=total+binCharArray[i]-48;
            if(i!=binCharArray.length-1){
                total=total<<1;
            }
        }
        return total;
    }

}

后话,我发现使用位运算的好处是突破了long的最大值。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
《俗人笔记》之《Java基础语法上》

基础前言: 二进制: 十进制转二进制:使用除以2获取余数来算 二进制转十进制:按8421编码 字节: 最小的存储单位是字节,最小的信息单位是位(bit) 1B=8bit 1KB=1024B 依次类推 DOS命令 盘符...

钱无极
2018/12/10
0
0
JAVA-编程规范及基本概念

编程规范不是语法, 是业内约定俗成的规则,程序员的潜规则。 Java的编程规范如下:(详细版本请参见阿里巴巴java手册) 1 每个部分之间用空行隔开。 2 要有空格和缩进。 3 所有类名要首字母大...

FJW0353
2017/05/26
0
0
好程序员大数据学习路线分享大数据之基础语法

1.2.1 计算机理论介绍 1.2.2 编程基础--进制分类、进制转换 进制 就是进位制。指的是我们来表示一个数字的时候进位的制度。 进制分类 计算机中,常用的进制有以下几种: | 进制 | 描述 | 示例...

好程序员官网
2019/11/19
9
0
Java byte[] 转C# byte[]

byte(C# 参考) byte 关键字代表一种整型,该类型按下表所示存储值: 类型 范围 大小 .NET Framework 类型 byte 0 到 255 无符号 8 位整数 Byte 参考msdn: https://docs.microsoft.com/zh-...

osc_7jg90pfq
2019/10/05
11
0
BigInteger实现原理

BigInteger存储大数的方式就是将数字存储在一个整型的数组中 只用一个整型数组的话,如何表示一个整数的正负呢? 那么就需要有一个单独的成员变量来标明该数的正负。 1、以前把数字存在字符串...

Java搬砖工程师
2018/05/21
214
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么从HBase的0.96版本开始,舍弃了-ROOT-文件?

HBase结构的读写流程 (1). HBase0.96版本之前: (2). HBase0.96开始: a. 当客户端获取到.meta文件的位置之后,会缓存.meta.文件的位置 b. 客户端还会缓存HRegion的位置 -ROOT-存在的意义: ...

其乐m
今天
18
0
volatile关键字对 - What is the volatile keyword useful for

问题: At work today, I came across the volatile keyword in Java. 今天的工作中,我遇到了Java中的volatile关键字。 Not being very familiar with it, I found this explanation: 不太熟......

技术盛宴
今天
25
0
golang 封装 mysql 和 redis 连接

Mysql封装 package dbimport ("fmt"_ "github.com/go-sql-driver/mysql""github.com/jmoiron/sqlx")var DB *sqlx.DBfunc init(){database, err := sqlx.Op......

开源中国最牛的人
今天
21
0
pdfbox 读取文件报错 java.io.IOException: Page tree root must be a dictionary

pdfbox java.io.IOException: Page tree root must be a dictionary 示例代码 public static void main(String[] args) { try (InputStream sampleInputs = new ClassPathResource("s......

lemos
今天
28
0
整理 Linux下列出目录内容的命令

在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务。当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令。但只有 ls 命令能实现这个目的吗?...

良许Linux
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部