精华内容
下载资源
问答
  • 进制转二进制 十进制整数转二进制 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再...

    1.十进制转R进制

    1.1 十进制转二进制

    十进制整数转二进制

    十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

    例题: 135D = ______ B

    **解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.
    这里写图片描述

    图1.十进制整数转二进制

    十进制小数转二进制

    十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。

    具体做法是:

    用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例题: 0.68D = ______ B(精确到小数点后5位)

    **解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.

    在这里插入图片描述

    图2.十进制小数转二进制

    1.2 十进制转八进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    这里写图片描述

    图3.十进制转八进制

    1.3 十进制转十六进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 25.68D = ______ H(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

    这里写图片描述

    图4.十进制转十六进制
    # 2.R进制转十进制 ## 2.1 二进制转十进制 **方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

    例题: 1001 0110B = ______ D

    **解析:**如下图所示。得到结果:150D.

    这里写图片描述

    图5.二进制转十进制

    2.2 八进制转十进制

    八进制转十进制的方法和二进制转十进制一样。

    例题: 26Q = ______ D

    **解析:**如下图所示。得到结果:22D.

    这里写图片描述

    图6.八进制转十进制

    2.3 十六进制转十进制

    例题: 23daH = ______ D

    **解析:**如下图所示。得到结果:9178D.

    这里写图片描述

    图7.十六进制转十进制

    3.二进制转八进制

    二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

    例题: 1010 0100B = ____Q

    **解析:**计算过程如下图所示。得到结果:244Q.

    这里写图片描述

    图8.二进制转八进制

    4.二进制转十六进制

    二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

    例题: 1010 0100B = ____H

    **解析:**计算过程如下图所示。得到结果:a4H.

    这里写图片描述

    图9.二进制转十六进制

    5.工欲善其事,必先利其器

    下面的表格是8位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    11111111B
    1286432168421D

    注:B:二进制
           D:十进制


    例题: 135D = ______ B

    **解析:**有了上面二进制对应十进制数值的表格,我们就可以将题目给的十进制135拆分为:128+7,再从表格中找到对应的数值,拼凑即可得到答案。
    135D = 128D + 7D = 1000 0111B

    展开全文
  • 可以在二进制,十进制,十六进制间自由转换 二进制转十六进制,二进制转十进制等
  • 二进制转十六进制工具bin2hex
  • 二进制转十六进制

    2018-12-24 23:05:59
    RAPTOR是一种基于流程图的可视化程序设计环境。而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。这是基于raptor软件制作的一个二进制转十六进制的程序。
  • //10进制转16进制 Integer.toHexString(20); //10进制转2进制 Integer.toBinaryString(10); //16进制转10进制 Integer.parseInt("10", 16);  //10进制转16进制 Integer.toHexString(20); //10进制转2进制 ...
    1. //10进制转16进制 
    2. Integer.toHexString(20); 
    3. //10进制转2进制 
    4. Integer.toBinaryString(10); 
    5. //16进制转10进制 
    6. Integer.parseInt("10", 16); 
    //10进制转16进制
    Integer.toHexString(20);
    //10进制转2进制
    Integer.toBinaryString(10);
    //16进制转10进制
    Integer.parseInt("10", 16);
    1. //还有一种通用的方法 
    2. BigInteger bigInt = new BigInteger(str, int1); 
    3. System.err.println(bigInt.toString(int2)); 
    4. //其中str为需要转换的字符串,int1为str的所属进制,int2为所需转为的进制 

     

    展开全文
  • 二进制数到十六进制数的转换 基本原理:由于十六进制数基数是2的四次幂,所以一个二进制转换为十六进制,如果是整数,只要从它的低位到高位每4位组成一组,然后将每组二进制数所对应的数用十六进制表示出来。...
  • 因为自带的方法在进行十六进制转为二进制的时候,精度在13位字符后就会出现丢失,为了让精度不丢失就自己根据16进制转换2进制的原理写了两个两个方法 如果长度没有超过13位,可以用parseInt("125adf8",...

           为什么要单独写个方法去做不同进制之间的转换呢?因为自带的方法在进行十六进制转为二进制的时候,精度在13位字符后就会出现丢失,为了让精度不丢失就自己根据16进制转换2进制的原理写了两个方法

        如果长度没有超过13位,可以用parseInt("125adf8",16).toString(2)='1001001011010110111111000',

       十六进制转换二进制  (本次转换的方法没有考虑带小数点的情况)

    function hex_to_bin(str) {
                let hex_array = [{key:0,val:"0000"},{key:1,val:"0001"},{key:2,val:"0010"},{key:3,val:"0011"},{key:4,val:"0100"},{key:5,val:"0101"},{key:6,val:"0110"},{key:7,val:"0111"},
                    {key:8,val:"1000"},{key:9,val:"1001"},{key:'a',val:"1010"},{key:'b',val:"1011"},{key:'c',val:"1100"},{key:'d',val:"1101"},{key:'e',val:"1110"},{key:'f',val:"1111"}]
    
                let value=""
                for(let i=0;i<str.length;i++){
                    for(let j=0;j<hex_array.length;j++){
                        if(str.charAt(i).toLowerCase()== hex_array[j].key){
                            value = value.concat(hex_array[j].val)
                            break
                        }
                    }
                }
                console.log(value)
                return value
            }

    二进制转十六进制    (本次转换的方法没有考虑带小数点的情况)

    function bin_to_hex(str) {
                let hex_array = [{key:0,val:"0000"},{key:1,val:"0001"},{key:2,val:"0010"},{key:3,val:"0011"},{key:4,val:"0100"},{key:5,val:"0101"},{key:6,val:"0110"},{key:7,val:"0111"},
                    {key:8,val:"1000"},{key:9,val:"1001"},{key:'a',val:"1010"},{key:'b',val:"1011"},{key:'c',val:"1100"},{key:'d',val:"1101"},{key:'e',val:"1110"},{key:'f',val:"1111"}]
                let value = ''
                let list=[]
                console.log(str)
                if(str.length%4!==0){
                    let a = "0000"
                    let b=a.substring(0,4-str.length%4)
                    str = b.concat(str)
                }
                console.log(str)
                while (str.length > 4) {
                    list.push(str.substring(0, 4))
                    str = str.substring(4);
                }
                list.push(str)
                console.log(list)
                for(let i=0;i<list.length;i++){
                    for(let j=0;j<hex_array.length;j++){
                        if(list[i]==hex_array[j].val){
                            value = value.concat(hex_array[j].key)
                            break
                        }
                    }
                }
                console.log(value)
                return value
            }

    异或运算 (需要上面两个方法做基础)

    function xor(a ,b){
                let A = hex_to_bin(a)
                let B = hex_to_bin(b)
                console.log(a+"   a的二进制:"+A)
                console.log(b+"   b的二进制:"+B)
                let o = "00000000000000000000000000000000000"
                if(A.toString().length > B.toString().length){
                    let c = A.toString().length - B.toString().length
                    B = o.substr(0,c).concat(B)
                }else if(A.toString().length < B.toString().length){
                    let c = B.toString().length - A.toString().length
                    A = o.substr(0,c).concat(A)
                }
                console.log('B:'+B)
                console.log('A:'+A)
                let d = ""
                for(let i=0;i<A.toString().length;i++){
                    if(A.toString()[i]==B.toString()[i]){
                        let q="0"
                        d = d.concat(q)
                    }else{
                        let p="1"
                        d = d.concat(p)
                    }
                }
                console.log(bin_to_hex(d))
                return bin_to_hex(d)
            }

    版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/lixiwoaini/article/details/82179094

    展开全文
  • java实现二进制转十六进制

    千次阅读 2017-07-29 22:50:51
    java实现二进制转十六进制

    题目链接:

    百练OJ:2798

    描述:输入一个2进制的数,要求输出该2进制数的16进制表示。在16进制的表示中,A-F表示10-15
    输入:第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个以0和1组成的字符串,字符串长度至少是1,至多是10000
    输出:n行,每行输出对应一个输入。

    对于一个值比较小的二进制数转化为十六进制的数可以在java中直接调用函数解决,代码如下:

    解题代码一:

    import java.util.Scanner;
    
    public class Main{
    
    	public static void main(String[] args) {
    		Scanner input =new Scanner(System.in);
    		int n=input.nextInt();
    		while(n>0){
    			int k=input.nextInt();
    			int tem=Integer.parseInt(String.valueOf(k), 2);
    			String str=Integer.toHexString(tem).toUpperCase();
    			System.out.println(str);
    			n--;
    		}
    		input.close();
    	}
    }
    但是,本题的输入二进制的位数很多,字符长度可达10000,超出了int型数的限制,于是,解题应更加复杂。

    对于一个二进制的数每四位数可以转化为一个十六进制数,例如1111可转化为F; 0001转化为1 ;1000转化为8;11101010转化为EA。对于一个二进制的数位数若不是4的倍数,可以在前面补零,补成4的倍数位。例如:1111011111补为为001111011111转化为十六进制:3DF

    解题代码二:

    import java.util.Scanner;
    
    public class Main{
    
    	public static void main(String[] args) {
    		Scanner input =new Scanner(System.in);
    		int n=input.nextInt();
    		while(n>0){
    			String k=input.next();
    			System.out.println(turn2to16(k));
    			n--;
    		}
    		input.close();
    	}
    
    	private static String turn2to16(String str) {
    		String sum="";
    		
    		int t=str.length()%4;
    		if(t!=0){
    			for(int i=str.length();i-4>=0;i=i-4){
    				String s=str.substring(i-4,i);
    				int tem=Integer.parseInt(String.valueOf(s), 2);
    				sum=Integer.toHexString(tem).toUpperCase()+sum;
    			}
    			String st=str.substring(0,t);
    			
    			int tem=Integer.parseInt(String.valueOf(st), 2);
    			sum=Integer.toHexString(tem).toUpperCase()+sum;
    			
    		}
    		else{
    			for(int i=str.length();i-4>=-1;i=i-4){
    				String s=str.substring(i-4,i);
    				int tem=Integer.parseInt(String.valueOf(s), 2);
    				sum=Integer.toHexString(tem).toUpperCase()+sum;
    			}
    		}
    		return sum;
    	}
    
    }


    展开全文
  • 二进制转十六进制 算法实现思想

    万次阅读 2017-11-12 20:40:13
    二进制转十六进制 算法实现思想
  • 在dos下可以实现二进制转换十六进制显示,调试运行结果有效
  • 使用LABVIEW 生成的子VI 可以有效得将二进制数,转换成16进制数的BCD码。 常用于校验和分析上。
  • 二进制转十六进制快速转换 1. 二进制数要转换为十bai六进制,就是以du4位一段,分别转换为十六进制,从右到左 4位一切; 例如:100111110110101 左边不满4位的可以用0补满 0100,1111,1011,0101 二进制对应16位...
  • #include "iostream" using namespace std; #define MAX 50 int _2to16()//二转十六 { cout 请输入二进制数,并以‘$’结束:"; char elem2[MAX]; int flag = 1; char ch; int i = 0; while (flag) {
  • C++-bit转hex(四位二进制转十六进制)

    千次阅读 多人点赞 2021-07-27 14:13:16
    C++代码实现4位二进制转为十六进制
  • #十进制转二进制的字符串 def b2(str1): #获得十进制转二进制的字符串 bi2=str(bin(int(str1))).replace('0b','') return bi2 str1='100' print('%s十转二为:'%str1,b2(str1)) #二...
  • 提取汉字字库文件(.hz/.zf)里面二进制数据转换为十六进制数据存到文件(.rtf)
  • C语言——二进制转十六进制

    千次阅读 2018-12-02 00:13:03
    输入一个二进制的数,要求输出该二进制数的十六进制表示。在十六进制的表示中,A~F表示10~15。 Input 第一行是测试数据的组数n,后面跟着n行输入。每组测试数据占一行,包括一个以0和1组成的字符串,字符串长度...
  • 二进制转十六进制vb6程序

    千次阅读 2015-12-04 10:05:48
    【原】二进制转十六进制vb6程序 Private Sub Command1_Click()  Dim strN As String, iHex As String, strBin(), strHex()  Dim intXh As Integer, i As Integer, j As Integer, strTmp ...
  • 二进制 转 十进制 转 十六进制 二进制数 : 0110 0011 转十进制 0 1 1 0 0 0 1 1 128 64 32 16 8 4 2 1 64 + 32 + 2 + 1 = 99 ...转十六进制 (每一个字节(4位)是一个十六进制数(1~f)...
  • 进制转换:二进制、八进制、十六进制、十进制之间的转换 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是...
  • 二进制 二进制就是计算机常用的进制,即逢二进一。例如:1010 八进制 八进制即逢八进一。例如:626 ...十进制就是我们在计算中常用的进制,所以就...1.二进制转八进制 拿二进制数10010110举例 首先需要3个二进...
  • 十六进制优势所在:1 与二进制转换方便,记住:8、4、2、1. "8421"2 数字长度比二进制短,与10进制相当。实际上在计算机内部使用的数字只有2进制的,也就是说只有0和1两个数字而已。 而16进制是计算机使用人员为了更好...
  • 二进制转十六进制(8421 四位一体) 八进制转二进制(421 三位一体) 八进制转十进制(先转二进制再转十进制) 八进制转十六进制(先转二进制再转十六进制) 十进制转二进制(整数部分) 十进制转二进制(小数部分)...
  • 下载后直接编译就行 有代码的注释 相当精简
  • nodejs 二进制转十六进制(hex)

    万次阅读 2017-11-29 15:18:39
    小白的我纠结了好久,一个个尝试,终于把二进制转换成hex了var newdata = new Buffer(data,'hex');//先把数据存在buf里面 console.log(newdata.toString("hex"));//使用toString函数就能转换成hex数据啦参考 ...
  • 进制转换二进制转八进制,十进制,十六进制二进制转八进制二进制转十进制二进制转十六进制八进制转二进制,十进制,十六进制八进制转二进制八进制转十进制八进制转十六进制十进制转二进制,八进制,十六进制十进制转...
  • 二进制转十六进制2.十六进制转二进制 1.二进制转十六进制 注:十六进制一般以0x开头,或以H结尾。C语言中不能用H结尾 二进制与十六进制对应关系 二进制转16进制时,每四位二进制对应十六进制一位。 2.十六进制转二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 463,725
精华内容 185,490
关键字:

二进制转十六