精华内容
下载资源
问答
  • class ArrayTest { public static void ...//转化为十六进制 toBinary(-6);//转化为二进制 // toOctal(26);//转化为八进制 System.out.println(Integer.toBinaryString(-6));//java为我们提供的封装好的转化函数
    class ArrayTest {
    public static void main(String[] args) {
    // toHex(26);//转化为十六进制
    toBinary(-6);//转化为二进制
    // toOctal(26);//转化为八进制
    System.out.println(Integer.toBinaryString(-6));//java为我们提供的封装好的转化函数
    }


    // 十进制-->十六进制。
    public static void toHex(int num) {
    trans(num, 15, 4);
    }


    // 十进制-->二进制。
    public static void toBinary(int num) {
    trans(num, 1, 1);
    }


    // 十进制-->八进制。
    public static void toOctal(int num) {
    trans(num, 7, 3);
    }


    public static void trans(int num, int base, int offset) {


    if (num == 0) {
    System.out.println("0");
    return;
    }
    // 定义一个对应关系表。
    char[] chs = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
    'B', 'C', 'D', 'E', 'F' };
    /*
    * 一会查表会查到比较的数据。 数据一多,就先存储起来,在进行操作。 所以定义一个数组。 临时容器。
    */
    char[] arr = new char[32];
    int pos = arr.length;


    while (num != 0) {
    int temp = num & base;
    arr[--pos] = chs[temp];
    num = num >>> offset;
    }


    for (int x = pos; x < arr.length; x++) {
    System.out.print(arr[x]);
    }
    System.out.println();


    }


    }
    展开全文
  • 十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D...示例1:0xAF=175 十六进制转十进制转换原理:16^1*A+16^0*F=175示例2:0x41=65 十六进制转十进制转换原理:16^1*4+16^0*1=65 转...
    十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

    其中A、B、C、D、E、F分别对应10、11、12、13、14、15

    十六进制数的表示方式为0x开头。
    示例1:0xAF=175  十六进制转十进制转换原理:16^1*A+16^0*F=175
    示例2:0x41=65  十六进制转十进制转换原理:16^1*4+16^0*1=65
     

    转载于:https://www.cnblogs.com/lyd447113735/p/8898128.html

    展开全文
  • 因为自带的方法在进行十六进制转为二进制的时候,精度在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

    展开全文
  • 十六进制转换十进制原理介绍 十六进制转换为十进制,是先要将十六进制转换为二进制,在通过二进制转换为十进制。 十六进制转换为二进制很简单,我们首先要明白,一位十六进制代表四位二进制,如F对应二进制的1111,A...

    十六进制转换十进制原理介绍

    十六进制转换为十进制,是先要将十六进制转换为二进制,在通过二进制转换为十进制。
    十六进制转换为二进制很简单,我们首先要明白,一位十六进制代表四位二进制,如F对应二进制的1111,A代表二进制的1010,利用这种一一对应的关系,很容易就把十六进制转换为二进制,如0x1F6C,其中十六进制1对应二进制0001,十六进制F对应二进制1111,十六进制6对应二进制0110,十六进制C对应二进制1100,那么十六进制数0x1F6C对应的二进制数就是0001 1111 0110 1100。
    得到对应的二进制数后,再将二进制转换为十进制,这一步就更简单了,只需要套一个公式即可,二进制右边为低位,左边为高位,最右边的第一个数代表2的0次方,自右往左依次递增,1、2、3、4…,十六位的二进制数最高位就是2的16 - 1 = 15次方(因为最低位从0开始),将二进制每一位上的数作为系数,与该位对应的次方相乘,再将所有位算得的结果相加,最后得到的数便是二进制对应的十进制数。我们拿0001 1111 0110 1100为例,公式便为f=020+021+122+123+024+125+126+027+128+129+1210+1211+1212+0213+0214+0215f = 0*2^0 + 0*2^1+1*2^2 + 1*2^3+0*2^4 + 1*2^5+1*2^6 + 0*2^7+1*2^8 + 1*2^9+1*2^10 + 1*2^11+1*2^12 + 0*2^13+0*2^14 + 0*2^15最后算得f = 8044,那么8044就是二进制0001 1111 0110 1100所对应的十进制数,同样也是十六进制数0x1F6C对应的十进制数。
    我们通篇以十六位的数来讲解的,其余位的数举一反三即可,原理相同。

    代码实现

    有了相关的知识之后,我们便可以很容易将代码实现

    #include "stdio.h"
    #include "math.h"
    unsigned short int DecData_16[4];      //用于存储十进制数,数组的大小根据自己的实际情况进行修改
    /* -------------------十六进制(十六位)转换为十进制--------------------- */
    void Hex2Dec_16(unsigned short int* temp)
    {
    	for(int i = 0;i < 4;i++)    //这里是4个十六进制数,所以只循环四次,根据自己的实际情况修改
    	{
    		unsigned short int Hex = temp[i];
    		unsigned short int Dec = 0;
    		for(int j = 0;j < 16;j++)   //16表示一个十六进制数一共16位,根据自己的实际情况进行修改
    		{
    			if(Hex & 0x0001)   //判断十六进制数对应的二进制的最后是0还是1,所以十六进制转换为二进制这一步工作代码暗中就已经实现了
    			{
    				Dec += pow(2,j);    pow(2,j)是math.h头文件里的库函数,进行次方运算
    				Hex >>= 1;   //这里的移位操作是对十六进制对应的二进制进行操作,不需要我们进行转换
    			}
    			else   //如果最后一位不是1
    			{
    				Dec += 0;   //则加0
    				Hex >>= 1;
    			}
    		}
    		DecData_16[i] = Dec;
    	}
    }
    

    到此为止我们便实现了十六进制到十进制的转换,关于十进制转换为十六进制,请参考链接: STM32 十进制转换成十六进制的实现(有例程),在Keil5里面用C语言实现,不用scanf函数.

    展开全文
  • //16进制数转二进制 private static void toBinary(int num){ char[] chs = {'0','1'}; char[] arr = new char[32]; int pos = arr.length; while(num!=0) { int temp = num & 1; arr[--pos] = ...
  • 十六进制转十进制 总时间限制: 1000ms 内存限制: 65536kB 描述将十六进制数转换成十进制数 输入第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,...
  • 从一开始就经常提到“一个十六进制字节”,然而一开始就是迷惑的,直到现在。 一个十六进制字节,比如:FF。周围的人经常说这是一个十六进制字节。然后我就想,这不是两个字符吗,分别是F 和F,一个字符是一个字节...
  • 使用python 进行十进制 二进制 八进制 十六进制直接转换工具/原料python 进制转换方法/步骤1首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bindec=10print bin(dec)如下图所示:输出0b...
  • 进制转换算法原理(二进制 八进制 十进制 十六进制),以前上学那会确实学过,长时间不用都忘了。
  • ASCII、BCD转十六进制ASCII转十六进制转换规则BCD转十进制、十六进制BCD码的优点BCD码分类各种BCD码的特点转换规则 ASCII转十六进制 转换规则 ASCII(American Standard Code for Information Interchange,美国信息...
  • 我们有更多共同的十六进制 1、二进制 2、八进制 3、十进制 4、十六进制 5、十二进制 6、二十四进制 7...... 一、二进制 我们都知道二进制是在计算机中运用的较多,由于计算机中仅仅有两种状态(开关或者高电平低电平...
  • 二进制数到十六进制数的转换 基本原理:由于十六进制数基数是2的四次幂,所以一个二进制转换为十六进制,如果是整数,只要从它的低位到高位每4位组成一组,然后将每组二进制数所对应的数用十六进制表示出来。...
  • 二进制、八进制、十六进制与十进制的不同顾名思义在于进位不同: 十进制遇十进一,9+1=10,19+1=20,199+1=200。相同数字前一位是后一位的十倍,例如11,前一个代表10,后一个是1。 一、八进制 八进制遇八进一...
  • 原理:除16取余,直到原数为0,所得余数逆序即为十六进制数(大于十的转换成相应的字母) public static String decimalToHex(int decimal) { String hex=""; while(decimal!=0) { char ch; int yu=decimal%16; ...
  • 网上复制来复制去的连个靠谱答案都没有...f**k 所以无奈自己探索出来了 先放效果图 ...文本值 转 进制值 ...A2进制值 ...非十进制的计算/运算方法 ...由于单元格没有提供进制格式,所以填入的值实际上是...
  • 释放双眼,带上耳机,听听看~!1、计算机的数制介绍数制:计数的方法,指用一组固定的符号和统一的规则来...2、数制的表示方法3、数制的计算4、进制之间的转换4.1、正整数的十进制转换二进制将一个十进制数除以二,...
  • 1 我看了半天ASCII码转换成十六进制的转换程序,看不懂。其实我感觉是原理摸不清楚,请大侠们赐教。
  • 十六进制转八进制

    2017-02-20 21:18:00
    原理还是很简单的,每1位十六进制数可对应4位二进制数,每1位八进制数可对应3位二进制数(因为7的二进制为111)。 其中有一点需要注意的就是当十六进制所转换的二进制数位不能被3整除时需要在串首加1或2个“0”以...
  • 本文介绍从原理上将十六进制数变为八进制数,思路是先将输入的十六进制数变为十进制,再将十进制数变为八进制。代码如下: n=int(input()) a=[] for i in range(n): a.append(str(input())) for i in a: b=[] for...
  • 基础练习 十进制转十六进制 时间限制:1.0s 内存限制:512.0MB ...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是
  • 二进制和十六进制

    千次阅读 2018-08-16 08:40:17
    课程导言 【最早的编程语言是二进制语言,也是计算机能够直接...通过本篇的学习,你将了解到为什么计算机能够直接识别二进制语言,二进制的计数原理以及与十进制、十六进制之间的数值转换。】   在讲述二进制之...
  • 浮点数和十六进制数的相互转换,包括:1.单精度浮点数(32位)和十六进制数的相互转换,2.双精度浮点数(64位)和十六进制数的相互转换。
  • 十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。  给出一个非负整数,将它表示成十六进制的形式。 输入格式  输入包含一.....
  • 所谓十进制转换十六进制,其实就是要了解转换原理,再把数学逻辑翻译成代码逻辑; 比如十进制字符串 "12345678" 转换之后为 "BC614E"; 顺带普及下十六进制值: 十六进制,顾名思义,就是每个字符位的取值范围为 0~15; ...
  • 二进制转换成十六进制输出的C代码

    万次阅读 2018-09-20 19:10:47
    我自己试着编写代码,思路是把这个8bit的二进制数存放到一个数组里面,分高4bit和低4bit,分别转换成十进制,然后用switch判断这个十进制,转换成对应十六进制数,例如十进制1对应十六进制1,十进制10对应十六进制A...
  • 1、计算机的数制介绍数制:计数的方法,指用一组固定的符号和统一的规则来...2、数制的表示方法3、数制的计算4、进制之间的转换4.1、正整数的十进制转换二进制将一个十进制数除以二,得到的商再除以二,依此类推直到...
  • 十六进制转物理地址

    2012-09-27 20:06:41
    介绍内存管理中,十六进制转物理地址。主要是计算机组成原理中的!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,574
精华内容 21,429
关键字:

十六进制原理