java将二进制字符串转成int类型数据

废话不多说:直接上代码:

    public  static  int  binaryToInt(String binary) {
            if  (binary ==  null ) {
              System.  out .println( "can't input null !"  );
          }
            if  (binary.isEmpty()) {
              System.  out .println( "you input is Empty !"  );
          }
            int  max = binary.length();
          String new_binary =  "" ;
            if  (max >= 2 && binary.startsWith( "0" )) {
                int  position = 0;
                for  ( int  i = 0; i < binary.length(); i++) {
                     char  a = binary.charAt(i);
                     if  (a !=  '0'  ) {
                        position = i;
                          break ;
                   }
              }
                if  (position == 0) {
                   new_binary = binary.substring(max - 1, max);
              }  else  {
                   new_binary = binary.substring(position, max);
              }
          }  else  {
              new_binary = binary;
          }
            int  new_width = new_binary.length();

            long  result = 0;
            if  (new_width < 32) {
                for  ( int  i = new_width; i > 0; i--) {
                     char  c = new_binary.charAt(i - 1);
                     int  algorism = c -  '0'  ;
                   result += Math. pow(2, new_width - i) * algorism;
              }
          }  else  if  (new_width == 32) {
                for  ( int  i = new_width; i > 1; i--) {
                     char  c = new_binary.charAt(i - 1);
                     int  algorism = c -  '0'  ;
                   result += Math. pow(2, new_width - i) * algorism;
              }
              result += -2147483648;
          }
            int  a =  new  Long(result).intValue();
            return  a;
     }

同时附上java中int转成二进制String类型的方法:

int num;
String str = Integer.toBinaryString(num);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值