精华内容
下载资源
问答
  • android 进制转换

    千次阅读 2017-12-22 08:49:11
    今天,简单讲讲android如何进行进制转换。 这个很简单,之前查找了资料,所以记录一下。 Java中在声明数字时默认采用的是十进制,可以在数字前加上符号表示数字采用八进制【前面加0(零)】或者十六进制...

    今天,简单讲讲android如何进行进制的转换。


    这个很简单,之前查找了资料,所以记录一下。


    Java中在声明数字时默认采用的是十进制,可以在数字前加上符号表示数字采用八进制【前面加0(零)】或者十六进制【前面加上0x(x)】。

     Java的整型封装类IntegerLong提供toStringint i,int radix)静态方法,可以将一个任意进制的整数转换为其他进制的整数。

     使用IntegerLongtoBinaryString方法将整数转换为二进制。

    使用IntegerLongtoOctalString方法将整数转换为八进制。

    使用IntegerLongtoHexString方法将整数转换为十六进制。

    使用IntegerLongtoString(int i)方法可以将其他进制的整数转换为十进制的整数的字符串表示。


    使用这些android提供的工具就可以完成进制直接的转换。


    android 进制转换就讲完了。


    就这么简单。

    
    展开全文
  • android 进制转换 (高低位)

    千次阅读 2018-07-26 16:33:15
    android进制转换】https://www.yiibai.com/java/lang/integer_highestonebit.html android中在声明数字时默认采用的是十进制。  //十进制转成十六进制 Integer.toHexString(14);  //十进制转成八进制 ...

    【android进制转换】
    https://www.yiibai.com/java/lang/integer_highestonebit.html

    android中在声明数字时默认采用的是十进制。

     //十进制转成十六进制  Integer.toHexString(14);
     //十进制转成八进制    Integer.toOctalString(14);
     //十进制转成二进制    Integer.toBinaryString(12);

     //十六进制转成十进制  Integer.valueOf("FFFF",16).toString();
     //十六进制转成二进制   Integer.toBinaryString(Integer.valueOf("FFFF",16));
     //十六进制转成八进制  Integer.toOctalString(Integer.valueOf("FFFF",16));

     //八进制转成十进制    Integer.valueOf("576",8).toString();
     //八进制转成二进制    Integer.toBinaryString(Integer.valueOf("23",8));
     //八进制转成十六进制  Integer.toHexString(Integer.valueOf("23",8));

     //二进制转十进制      Integer.valueOf("0101",2).toString();
     //二进制转八进制        Integer.toOctalString(Integer.parseInt("0101", 2));
     //二进制转十六进制    Integer.toHexString(Integer.parseInt("0101", 2));


    SOCKET通讯:int32 int64 long
    byte[] buffer=new byte[1024];
    接收字节数组:index=in.read(buffer,0,buffer.length);

    【高端在前】

    //字节数组转int型,高位在前,低位在后  (int 4字节)=(pc端int32默认高位在前)
    public static int bytes4ToInt(byte[] src) {
        int value = (int) (
        ((src[0] & 0xFF)<<24)|
                   ((src[1] & 0xFF)<<16)|
                   ((src[2] & 0xFF)<< 8)|
                    (src[3] & 0xFF));
        return value;
    }
    //int型转byte[],高位在前,低位在后  (int 4字节)=(pc端int32默认高位在前)
    public static byte[] intToBytes4H(int res){
        byte[] targets = new byte[4];
        targets[0] = (byte) (res  >>24 & 0xff);
        targets[1] = (byte) ((res >>16) & 0xff);
        targets[2] = (byte) ((res >> 8) & 0xff);
        targets[3] = (byte) (res & 0xff);
        return targets;
    }
    //字节数组转long型,高位在前,低位在后  (long 8字节)=(pc端int64默认高位在前)
    public static long  byte8TolongH( byte[] buffer ) {
     long num= ((buffer[0]&0xff) << 56) +
                ((buffer[1]&0xff) <<48) +
                ((buffer[2]&0xff) <<40) +
                ((buffer[3]&0xff)<<32) +
                ((buffer[4]&0xff)<<24)+
                ((buffer[5]&0xff)<<16) +
                ((buffer[6]&0xff)<<8) +
                (buffer[7]& 0xff);
        return num;
    }
    //long型转byte[],高位在前,低位在后  (long 8字节)=(pc端int64默认高位在前)
    public static byte[] longTobyte8H(long res) {
        byte[] targets = new byte[8];
        targets[0] = (byte) (res >>> 56 & 0xff);
        targets[1] = (byte) (res >>> 48 & 0xff);
        targets[2] = (byte) (res >>> 40 & 0xff);
        targets[3] = (byte) (res >>> 32 & 0xff);
        targets[4] = (byte) (res >>> 24 & 0xff);
        targets[5] = (byte) ((res >> 16)& 0xff);
        targets[6] = (byte) ((res >> 8) & 0xff);
        targets[7] = (byte) (res & 0xff);
        return targets;
    }

    【低端在前】

    //字节数组转int型,低位在前,高位在后  (int 4字节)=(pc端int32默认高位在前)
    public static int bytes4ToInt(byte[] src) {
        int value = (int) (
        ((src[0] & 0xFF))|
                   ((src[1] & 0xFF)<< 8)|
                   ((src[2] & 0xFF)<<16)|
                    (src[3] & 0xFF)<<24);
        return value;
    }
    //int型转byte[],低位在前,高位在后  (int 4字节)=(pc端int32默认高位在前)
    public static byte[] intToBytes4L(int res){
        byte[] targets = new byte[4];
        targets[0] = (byte) (res & 0xff);
        targets[1] = (byte) ((res >> 8) & 0xff);
        targets[2] = (byte) ((res >>16) & 0xff);
        targets[3] = (byte) ((res >>24) & 0xff);
        return targets;
    }
    //字节数组转long型,低位在前,高位在后  (long 8字节)=(pc端int64默认高位在前)
    public static long  byte8TolongL( byte[] buffer ) {
       long num=  (buffer[0]& 0xff) +
                  ((buffer[1]&0xff) <<8) +
                  ((buffer[2]&0xff) <<16) +
                  ((buffer[3]&0xff) <<24)+
                  ((buffer[4]&0xff) <<32) +
                  ((buffer[5]&0xff) <<40) +
                  ((buffer[6]&0xff) <<48) +
                  ((buffer[7]&0xff) << 56);
      return num;
    }
    //long型转byte[],低位在前,高位在后  (long 8字节)=(pc端int64默认高位在前)
    public static byte[] longTobyte8L(long res) {
    byte[] targets = new byte[8];
    targets[0] = (byte) (res & 0xff);
    targets[1] = (byte) ((res >> 8) & 0xff);
    targets[2] = (byte) ((res >> 16)& 0xff);
    targets[3] = (byte) (res >>> 24 & 0xff);
    targets[4] = (byte) (res >>> 32 & 0xff);
    targets[5] = (byte) (res >>> 40 & 0xff);
    targets[6] = (byte) (res >>> 48 & 0xff);
    targets[7] = (byte) (res >>> 56 & 0xff);
       return targets;
    }
    【Byte[] ---- HexString】如串口通信

    //byte[]转换成hexString字符串,无符号。每个Byte之间无空格分隔。字母小写
    public static String Bytes2HexString(byte[] b, int size){
    //size==b.length,toUpperCase()将字符串小写字符转换为大写,toLowerCase()将字符串大写字符转换为小写
         String ret = "";
         for (int i = 0; i < size; i++) {
           String hex = Integer.toHexString(b[i] & 0xFF);
           if (hex.length() == 1) {
        hex = "0" + hex;
       }
           ret += hex.toUpperCase();
         }
         return ret;
       }

    //HexString字符串转换成byte[]无符号。每个Byte之间无空格分隔。
    public static byte[] HexString2Bytes(String src) {
     int len = src.length() / 2;
     byte[] ret = new byte[len];
     byte[] tmp = src.getBytes();
     for (int i = 0; i < len; i++) {
         ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
     }
     return ret;
     }
    public static byte uniteBytes(byte src0, byte src1) {
     byte _b0 = Byte.decode("0x" + new String(new byte[]{src0})).byteValue();
     _b0 = (byte)(_b0 << 4);
     byte _b1 = Byte.decode("0x" + new String(new byte[]{src1})).byteValue();
     byte ret = (byte)(_b0 ^ _b1);
     return ret;
    }


    【String ---- HexString】

    //String字符串转换成hexString字符串,无符号。每个Byte之间无空格分隔。如“name”
    public static String str2HexStr(String str) {
     char[] chars = "0123456789ABCDEF".toCharArray();
     StringBuilder sb = new StringBuilder("");
     byte[] bs = str.getBytes();
     int bit;
     for (int i = 0; i < bs.length; i++) {
      bit = (bs[i] & 0x0f0) >> 4;
      sb.append(chars[bit]);
      bit = bs[i] & 0x0f;
      sb.append(chars[bit]);
      //sb.append(' ');//有符号,每个Byte之间用空格分隔
     }
     return sb.toString().trim();
    }
    //无符号hexString字符串,转换成String字符串。每个Byte之间无空格分隔。
    public static String hexStr2Str(String hexStr) {
     String info="";
     String str = "0123456789ABCDEF";
     char[] hexs = hexStr.toCharArray();
     byte[] bytes = new byte[hexStr.length() / 2];
     int n;
     for (int i = 0; i < bytes.length; i++) {
      n = str.indexOf(hexs[2 * i]) * 16;
      n += str.indexOf(hexs[2 * i + 1]);
      bytes[i] = (byte) (n & 0xff);
     }
     return new String(bytes);
    }

    展开全文
  • 于是,我就想到了可以制作一个android手机进制转换计算器。现在的手机虽然大多都已经自带进制转换了,但是我为了练习,还是准备自己做一个。下面,我就介绍一下各个进制之间的转换方法。 程序部分 因为我想要实现...

    前言

    这几天,我不知道要做什么东西,就想随便写一个程序练习一下。我因为有时候要写程序,写程序就会涉及到二进制、十六进制这些内容。转换进制的时候,我也经常会用win10系统自带的计算器来转换。于是,我就想到了可以制作一个android手机进制转换计算器。现在的手机虽然大多都已经自带进制转换了,但是我为了练习,还是准备自己做一个。下面,我就介绍一下各个进制之间的转换方法。

    程序部分

    因为我想要实现自动检测输入的进制,所以我就先说一下自动检测这一部分,想直接看进制转换的 /* 可以点击目录。*/(注释掉)

    2020.6.4 我原来想写自动检测进制的,结果后来发现根本无法实现。原来好不容易写的一大段,全都删掉了。。白费劲

    不哆嗦了,赶快写完吧

    十进制转其他进制最简单:

            十进制转二进制: Integer.toBinaryString(i);
            十进制转十六进制: Integer.toHexString(i));
    

    其他稍微麻烦:

    int Dec = Integer.parseInt("01100011", 2);		//二进制转十进制
    
    int dec = Integer.parseInt("4E", 16);			//16进制转10进制
    
    int dec = Integer.parseInt("11100011", 2);		//二进制转16进制
    String hex = Integer.toHexString(dec);
    
    int dec = Integer.parseInt("5F", 16);
    String bin = Integer.toBinaryString(dec);		//16进制转二进制
    

    有的是需要先转成十进制,再转成其他进制

    写在最后:我本来想写长的,结果这个东西我做的时候中断了。。看来技术文章写不长。[博客没有表情]

    点个赞再走吧

    展开全文
  • Java/Android进制转换

    2021-03-01 17:58:13
    10进制转2进制 Integer.toBinaryString(n); 10进制转8进制 Integer.toOctalString(n); 10进制转16进制 Integer.toHexString(n); 10进制转 r 进制 Integer.toString(100, 16);


    10进制转2进制    Integer.toBinaryString(n);    
    10进制转8进制    Integer.toOctalString(n);    
    10进制转16进制    Integer.toHexString(n);    
    10进制转 r 进制    Integer.toString(100, 16);   
     

    展开全文
  • android 进制转换方法

    2015-07-29 09:56:00
    import android.util.Log; public class CommandHelper { public static String intToHexString(int value) { String str = ""; if (value >= 0) { str = Integer.toHexString(value); } else { str...
  • 一个Android进制转换

    2012-06-02 21:01:34
    package com.com.twe.wew; import com.waps.AdView; import com.waps.AppConnect; import android.app.Activity; import android.os.Bundle; import android.view.Display; import android.view.Gravity; imp
  • 用Integer.parseInt(hex, 16)转换非常长的数据时,会报错; 原因是因为:Integer在32位的编译环境下,存储长度为32位。...解决长数据类型之间的进制转换问题: String a=new BigInteger(hex,16).toS...
  • android SDK 10进制2进制转换
  • Android 二进制、10进制、16进制互相转换...百度出来的Android 进制转换,翻了好几页还是用的java的方法,但其实,Android本身就有API可供使用。 代码 二进制转10进制 String two = "0001"; int ten = Integer.parse...
  • 10进制 转换 16进制 byte[] test = new byte[4]; test[0] = (byte)0x36;//写死的数据,放上去多少就是多少,不会改变 test[1] = (byte)36; //系统自动转为16进制 即 24 test[2] = (byte) Integer....
  • Android各种进制转换

    千次阅读 2016-07-15 18:27:13
    进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf(...
  • Radix 十进制,二进制,八进制,十六进制数相互转换的计算器,采用 Rxbinding实现 用到的开源库 RxJava 2.x RxAndroid butterknife RxBinding 界面预览 APK下载 CoolApk GooglePlay
  • android 16进制/10进制/2进制转换

    千次阅读 2015-08-18 13:55:14
    转载:...     // 十六进制转二进制 public String HToB(String a) { String b = Integer.toBinaryString(Integer.valueOf(toD(a, 16))); return b; } // 二进制转十
  • 使用AndroidStudio开发简易进制转换计算器,内含工程文件以及最终在手机上的效果图
  • HexDump.java解析android 16进制转换 package com.android.internal.util; public class HexDump { private final static char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A'...
  • android NFC TAGID的进制转换

    千次阅读 2018-03-14 16:51:34
    去年做了个app用到了NFC,当时获取到的id需要进制转换后才能与硬件厂商那边对接,所以搞了几个进制转换的方法先上进制转的代码: /** * 转十六进制 * @param bytes * @return */ private String toHex(byte[] ...
  • 说明: 二进制:逢二进一 b 八进制:逢八进一 Q 十进制:逢十进一默认不写 d 十六进制:逢十六进一 ox或者F 正数:原码反码 补码 移码都是自己本身 负数:反码:符号位不变...二进制转换成其它进制:按权展开 二进制转
  • Android蓝牙开发之进制转换

    千次阅读 2014-03-30 17:09:15
    Android蓝牙开发之进制转换 .二进制转16进制: public static String binaryString2hexString(String bString) { if (bString == null || bString.equals("") || bString.length() % 8 != 0)
  • android 的字符串 ascII码 16进制的相互转换
  • Android Studio简易进制转换计算器 1、问题描述。 设计并实现一个数制转换器,能够对输入的任- -进制类型的数值转换为指定的数制类型的数值。必须实现的数制类型有二进制、八进制、十进制和十六进制四种。 2、基本...
  • android NFC getId()后进制转换

    千次阅读 2017-06-18 14:27:13
    进制转换的代码详见我的另一篇博客:http://blog.csdn.net/yedajiang44/article/details/79556823最近项目用到NFC,NFC的标签是嵌在手表上的需求是这样的:手表显示NFC的TAGID(不是标签的ID,是TAGID),显示的时候...
  • 每次看UI图都头大,直接颜色色值给全多好,非要百分之多少多少的透明度,啊啊啊啊啊啊啊啊,特此记录一下透明度和十六进制的转化,方便自己查看,写颜色不用每次都搜,声明一下,这个数据我也是搜来的,这篇博客单纯...
  • java进制及进制转换

    2014-04-09 22:24:09
    本文介绍java中整数的3种进制表现形式,对进制转换方法进行了总结。 进制进制由来 1. Java中,整数有3种表现形式: 十进制:0~9,满10进1 八进制:0~7,满8进1,用0开头表示 十六进制:0~9,A~F,满16进1,...
  • int color=Color.parseColor(#3686FD) textView.setTextColor(color);
  • * 16进制数据转换工具 * * @author zch * */ public class HexUtil { /** * 16进制数转成字节数组,如:字符N的16进制数是4e,则传入数组{'4','e'},将被转成字段数组,再用new String(byte[] * b)的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 880
精华内容 352
关键字:

android进制转换