2022-12-16 15:34来源:m.sf1369.com作者:宇宇
1:选择一个空白单元格用于转换16进制数
2:鼠标单击该单元格在公式栏(或双击编辑单元格)输入"=DEC2HEX("
【输入不包含双引号】
3:鼠标点选需转换的十进制数所在单元格,并输入")"
【输入不包含双引号】
4、回车(或点击公式栏左侧绿色钩子)
方法一:
1、选择空格右击选择 “ 设置单元格格式 ”进入。
2、在弹出的单元格格式列表里选择 设置” 本文 “,然后点击“ 确定 ”。
3、这个时候在表格框里 输入任意长的数字就不会出现数字变为0, 或者看不到数字的现像了。
方法二:
1、这时我们可以在“ fx” 列表框里,用英文状态的时候输入单引号:‘
2、在后把数字输入单引号后面即可。
正所谓杀鸡焉用宰牛刀,题主的这个需求用常见软件——Excel就可以解决了。
Excel中有一个函数HEX2DEC(),顾名思义,它的用处就是将16进制数转换为10进制。
使用方法示例:
假设现在有16个数,在同一列中。如下:
在想要输出结果的列第1行的单元格中(如G1)输入
其中,F1是第一行原始数据(0)的坐标。
然后,选中G1格,按住G1格右下角的小黑点向下拖动直到最后一行。Excel会自动将公式应用到途径的所有单元格,并会自动地将公式中的F1改写为F2、F3、F4……
上述过程很可能满足不了题主的实际需求,因为我们日常见到的16进制数常常是带一个前导0X或0x的,如果是这样的数据,那么我们还需要想办法把0x过滤掉,否则是无法正确计算出结果的。
好在Excel里有一个RIGHT()函数,这个函数的功能是取出某个单元格中后几位的内容,还有一个LEN()函数,这个函数的功能是计算单元格中文本内容的长度。
经过简单的组合,我们组合出这样一个表达式:
这个表达式意思是取出F1单元格中靠右的(长度-2)位,也就是去除前导0x后的剩下的内容,再输入HEX2DEC()函数进行计算。效果如下:
到这,基本实现了题主的需求。
我不太清楚题主手头的数据是什么格式,如果是纯文本格式的,那么可以直接复制粘贴到Excel中,Excel会自动按行进行拆分,1行文本对应Excel中的1行。
以上
十六进制每个位由"0123456789abcdef"表示,可以通过对十六进制数每一个位的字符,在这个字符串中搜索对应位置,然后再合计起来。
例如A1为字符串"0123456789abcdef",A3为十六进制"20"(字符型),
对于末位"0",用公式=FIND(RIGHT(A3,1),A1)-1
对于第二位"2",用公式=(FIND(LEFT(RIGHT(A3,2)),A1)-1)*16
将两个公式合在一起就是=(FIND(RIGHT(A3,1),A1)-1)+(FIND(LEFT(RIGHT(A3,2)),A1)-1)*16
我们应该都知道在二进制数中,正数和负数的加减法的规则如下所示,1+1=1,1+0=0,1-1=0,1-0=1,十六进制数的正数和负数的加减法和二进制数的加减法的规则是一样的,都是这样去算,同学们,你们都看明白了没有啊,不管你们明不明白,反正我是明白了
4位所以1个字节=2个16进制字符,一个16进制位=0.5个字节。ps:
zxid: 0x390000000f, 是一个64位的数字,分为高32位和低32位;
高32位(39) 省略了前面的0,完整的是:0x000000390000000f ,标准写法就是0x390000000f
一位16进制数(0-9A-F),用二进制表示是xxxx,最多只表示到15(即对应16进制的F),4位就够了,等于半个字节;
1.将十进制数(29)转换成二进制数。把给定的十进制数29除以2,商为14,所得的余数1是二进制数的最低位的数码,再将14除以2,商为7,余数为0。再将7除以2,商为3,余数为1,再将3除以2,商为1,余数为1,再将1除以2,商为0,余数为1是二进制数的最高位的数码。具体过程如下:
其结果为:11101
2.将二进制数(1010011)转换到八进制数。首先,将给定的二进制数从低位到高位一次每3位划分为1组,然后将每组用其对应八进制数的数码表示,结果就是转换成的八进制数。具体过程如下。(字丑勿喷)
结果是(123)
八进制将八进制(745)转换成二进制数。将(745)的每一位用3位二进制数表示,具体过程如下:
结果是:(111100101)二进制。
3.将二进制数与十六进制数之间的相互相转换:将二进制数转换为等值的十六进制数称为二-十六进制转换,采用的方法是“四位一组法”,因为四位二进制数恰好有16个状态,分别对应十六制数的16个数码。“四位一组法”就是从低位到高位依次将每4位二进制数划分为1组,高位不足4位的前面加0补足4位,然后将每1组用对应的十六进制数的数码表示,就得到相应的十六进制数。 将十六进制数转换为等值的二进制数称为十六-二进制转换。其转换方法刚好和二转十六相反,只要将十六进制数的每1位分别用4位二进制数表示即可。 将二进制数(1010011)转换成十六进制数。首先,将给定的二进制数从低位到高位一次每4位划分为1组,然后将每组用其对应的十六进制数的数码表示,结果就是转换的十六进制数。具体过程如下。
结果等于(53)十六进制数。
4.将十六进制数(6AD转换成二进制数) 将(6AD)的每一位用4位二进制数表示。
结果是:(11010101101)二进制数。
在C语言中16进制常量可以使用0x也可以使用0X如果使用0x的方式,那么在超过9的表示方式需要使用a~
f如果使用0X的方式,那么在超过9的表示方式需要使用A~
F同样,在输出方式中%x表示采用小写输出,%X采用大写输出
找一〔人单元格,将其先行设置为浮点型。格式-单元格-科学计数。
然后复制,选中需要转换的所有单元格及区域,右键-选择性粘贴-加。
0-9对应0-9;
A-F对应10-15;
十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。
十六进制数同二进制数及十进制数一样,也可以写成展开式的形式。
十进制整数转十六进制数:“除以16取余,逆序排列”(除16取余法)