精华内容
下载资源
问答
  • 十六进制减法计算
    2022-03-24 11:10:43

    参考资料:《深入理解计算机系统》原书第三版

    现代计算机存储和处理信息以二值形式表示,二进制数字也称位。一个字节由8位组成。二进制表示法中,它的值域为000000002到111111112;如果看做十进制数就是010到25510

    十六进制表示法

    1

    由于二进制太过冗长,十进制与位表示法转化太过麻烦,因此,用十六进制数来表示位模式较为方便。十六进制(简写成hex)使用0到9,以及A到F来表示16个可能的值。在十六进制表示法中,它的值域为0016到FF16

    十六进制数字01234567
    十进制值01234567
    二进制值00000001001000110100010101100111
    十六进制数字89ABCDEF
    十进制值89101112131415
    二进制值10001001101010111100110111101111

    在C语言中,以0x开头或以0X开头的数字常量被认为是十六进制的值。字符‘A’~‘F’可以是大写,也可以是小写,或者是大小写混合。在编写机器级程序的一个常见任务就是在位模式的十进制、二进制、十六进制之间的人工转换。一个简单窍门是记住十六进制数字A、C和F相应的十进制值,而对于把十六进制值B、D和E转化成十进制值,则可以通过计算它们与前三个值得相对关系来完成。

    比如,假设给你一个数字0x173A4C。可以通过展开每个十六进制数字,将它转换为二进制格式,如下所示:

    十六进制173A4C
    二进制000101110011101001001100

    反过来,如果给定一个二进制数字1111001010110110110011,可以通过首先把它分为每4位一组(从后往前)来转换为十六进制。不过要注意,如果位总数不是4得倍数,最左边得一组可以少于4位,前面用0补足。然后将每4位组转换为相应的十六进制数字:

    二进制1111001010110110110011
    十六进制3CADB3

    练习题1 完成下面的数字转换:
    A.将0x39A7F8转换为二进制。
    B.将二进制1100100101111011转换为十六进制。
    C.将0xD5E4C转换为二进制
    D.将二进制1001101110011110110101转换为十六进制。

    2

    当值x是2的非负整数n次幂时,也就是x=2n,我们很容易将x写成十六进制的形式。具体来讲,当n表示成i+4j的形式,其中0≤i≤3,我们可以把x写成开头的十六进制数字为1(i=0)、2(i=1)、4(i=2)或者8(i=3),后面跟随着j个十六进制的0。比如,x=2048=211,我们有n=11=3+4×2,从而得到十六进制表示0x800。

    练习题2 填写下表中的空白项,给出2的不同次幂的十进制和十六进制表示:

    n2n(十进制)2n(十六进制)
    95120x200
    19
    16384
    0x10000
    17
    32
    0x80

    3 十进制和十六进制之间的转换

    十进制和十六进制表示之间的转换需要使用乘法或者除法来处理一般情况。将一个十进制数x转换成十六进制,可以反复地用16除x,得到一个商q和一个余数r,也就是x=q·16+r。然后,我们用十六进制数字表示的r作为最低位的数字,并且通过对q反复进行这个过程得到剩下的数字。例如,考虑十进制314156的转换:

    314156 = 19634·16+12 (C)
     19634 = 1227·16+2   (2)
      1227 = 76·16+11    (B)
        76 = 4·16+2      (C)
         4 = 0·16+4      (4)
    

    从这里,我们能读出十六进制表示为0x4CB2C。

    反过来,将一个十六进制数字转换成十进制数字,我们可以用相应的16的幂乘以每个十六进制数字。比如,给定数字0x7AF,我们计算它对应的十进制值为
    7·162+10·16+15
    = 7·256+10·16+15
    = 1792+160+15
    =1967

    练习题3 一个字节可以用两个十六进制数字来表示。填写下表中缺失的项,给出不同字节模式的十进制、二进制和十六进制的值:

    十进制二进制十六进制
    00000 00000x00
    167
    62
    188
    0011 0111
    1000 1000
    1111 0011
    0x52
    0xAC
    0xE7
    旁注:十进制和十六进制之间的转换
        较大数值的十进制和十六进制之间的转换,最好是让计算机或者计算器来完成。
    
    

    练习题4 不讲数字转换为十进制或者二进制,试着解答下面的算术题,答案要用十六进制表示。提示:只要将执行十进制加减法所使用的方法改成以16为基数。(逢10进1变为逢16进1)(二进制同样的道理:逢2进1)
    A. 0x503c + 0x8 = ___________
    B. 0x503c - 0x40 = ___________
    C. 0x503c + 64 = ___________
    D. 0x50ea - 0x503c = __________

    练习题答案

    练习题1

    在我们开始查看机器级程序的时候,理解十六进制和二进制格式之间的关系将是很重要的。
    A. 将0x39A7F8转换成二进制:

    十六进制  3       9      A      7      F      8
    二进制   0011   1001   1010   0111   1111   1000
    

    B. 将二进制1100100101111011转换成十六进制:

    二进制    1100   1001   0111   1011
    十六进制     C      9      7      B
    

    C. 将0xD5E4C转换成二进制:

    十六进制    D      5      E      4      C
    二进制    1101   0101   1110   0100   1100 
    

    D. 将二进制1001101110011110110101转换成十六进制:

    二进制    10   0110   1110   0111   1011   0101   
    十六进制   2      6      E      7      B      5
    

    练习题2
    这个问题给你一个机会思考2的幂和它们的十六进制表示。

    n2n(十进制)2n(十六进制)
    95120x200
    19524 288800000x
    1416 3840x4000
    1665 5360x10000
    17131 0720x20000
    5320x20
    71280x80

    练习题3
    这个问题给你一个机会试着对一些小的数在十六进制和十进制表示之间进行转换。对于较大的数,使用计算器或者转换程序会更加方便和可靠。

    十进制二进制十六进制
    00000 00000x00
    167=10·16+71010 01110xA7
    62=3·16+140011 11100X3E
    188=11·16+121011 11000XBC
    3·16+7=550011 01110X37
    8·16+8=1361000 10000X88
    15·16+3=2431111 00110XF3
    5·16+2=820101 00100x52
    10·16+12=1721010 11000xAC
    14·16+7=2311110 01110xE7

    练习题4
    当开始调试机器级程序时,你将发现在许多情况中,一些简单的十六进制运算是很有用的。可以总是把数转换成十进制,完成运算,再把它们转换回来,但是能够直接用十六进制工作更加有效,而且能够提供更多的信息。

    A. 0x503c+0x8=0x5044。8加上十六进制c得到4并且进位1。
    B. 0x503c-0x40=0x4ffc。在第二个位数,3减去4要从第三位借1。因为第三位是0,所以我们必须从第四位借位。
    C. 0x503c+64=0x507c。十进制64(2的6次方)等于十六进制0x40。
    D. 0x50ea-0x503c=0xae。十六进制数a(十进制数10)减去十六进制数c(十进制数12),我们从第二位借16,
       得到十六进制数e(十进制数14)。在第二个数位,我们现在用十六进制d(十进制13)减去3,得到十六进制a(十进制10)。
    
    更多相关内容
  • 十六进制减法工具,结果显示为十六进制和十进制
  • 计算机十六进制

    2022-05-13 21:06:05
    十六进制进制概念十六制运算十六进制转换 进制概念 进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。 十六制运算 进位规则:“逢16进...

    进制概念

    进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。

    十六制运算

    进位规则:“逢16进1”
    借位规则:“借1当16”
    基数:16
    数码:0~F 【0~9、A、B、C、D、E、F 】
    后缀:用H、16或0X来表示,例如:(1010)16、(1010)H、0X1010
    位权:从最低位(最右边)开始,依次表示16的0次方,16的1次方,以此类推

    1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11
    在这里插入图片描述
    2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF
    在这里插入图片描述

    十六进制转换

    转换二进制

    十六进制整数转换为二进制整数时,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将十六进制整数 A5D6 转换为二进制:

    1) 整数部分
    将十六进制整数 A5D6 转换为二进制:
    在这里插入图片描述
    2)小数部分:
    通过十六进制对应十进制,再查到十进制对应的二进制,然后就可以得出如下结论:
    2: 0010
    1: 0001
    0: 0000
    4: 0100
    那么,21.04H=0010 0001.0000 0100
    而实际上计算机输出结果一般会去掉头尾多余的0,所以实际输出结果可能为:1000001.000001

    转换十进制

    1)整数部分:

    2AF5换算成10进制:0位:5*16^0 = 51位:F*16^1 = 15*16^1 = 2402位:A*16^1 = 10*16^2 = 25603位:2*16^3 = 8192
    结果 = 5 + 240 + 2560 + 8192
    可以看出,所有进制换算成10进制,关键在于各自的权值不同
    

    2)小数部分:

    1C2D.9=1*16^3+C*16^2+D*16^0+9*16^-1(16的负1次方)=7213.562516进制ABCDEF对应十进制为101112131415

    转换八进制

    1)整数部分:
    十六进制数053977,将其转换成二进制001 010 011 100 101 110 111,再将该二进制转换为八进制,可得八进制数为1234567
    在这里插入图片描述3BC24

    分别对应到上表(二进制) 是:
    0011 1011 1100 0100
    再按照每三个一组分组:
    0 011 101 111 000 100
    对应到8进制:
    0__3__5__7__0__4
    所以8进制就是35704
    

    2)小数部分:

    16进制转换8进制方法 —— 3BC24.3 转二进制,再转八进制。
    3BC24.3 = 111011110000100100.0011(二进制)
            = 421 421 421 421 421 421 421 421   
            = 111 011 110 000 100 100.001 100
            = 7    3   6   0   4   4 . 1   4                        
    转八进制000 011 100.110 100()就是034.640 就是34.64
    
    展开全文
  • 原标题:二进制十进制十六进制在阿程学习C语言的过程中,我的室友和我说他不懂什么是二进制,什么是十进制。在这里,阿程将告诉大家什么是二进制,十进制和十六进制:我们平时使用的数字都是由 0~9 共十个数字组成的...

    原标题:二进制十进制十六进制

    在阿程学习C语言的过程中,我的室友和我说他不懂什么是二进制,什么是十进制。在这里,阿程将告诉大家什么是二进制,十进制和十六进制:

    我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。

    例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。

    因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。

    进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。十进制有 0~9 共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。

    二进制

    我们不妨将思维拓展一下,既然可以用 0~9 共十个数字来表示数值,那么也可以用0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字 0、1、10、111、100、1000001 都是有效的二进制。

    在计算机内部,数据都是以二进制的形式存储的,二进制是学习编程必须掌握的基础。本节我们先讲解二进制的概念,下节讲解数据在内存中的存储,让大家学以致用。

    二进制加减法和十进制加减法的思想是类似的:

    对于十进制,进行加法运算时逢十进一,进行减法运算时借一当十;

    对于二进制,进行加法运算时逢二进一,进行减法运算时借一当二。

    下面两张示意图详细演示了二进制加减法的运算过程。

    1) 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110

    图1:二进制加法示意图

    409ade07e4c2f4fdd7c848941af29ba2.png

    2) 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101

    图2:二进制减法示意图

    db1466462a8968a06dfe01c93e6ae738.png

    八进制

    除了二进制,C语言还会使用到八进制。

    八进制有 0~7 共8个数字,基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、5、7、14、733、67001、25430 都是有效的八进制。

    下面两张图详细演示了八进制加减法的运算过程。

    1) 八进制加法:3+4=7、5+6=13、75+42=137、2427+567=3216

    图3:八进制加法示意图

    6dfd70121d0bf4133d82c02235fe1adc.png

    2) 八进制减法:6-4=2、52-27=23、307-141=146、7430-1451=5757

    图4:八进制减法示意图

    176f00e44287385a38fd1bd5e7de8042.png

    十六进制

    除了二进制和八进制,十六进制也经常使用,甚至比八进制还要频繁。

    十六进制中,用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15,因此有 0~F 共16个数字,基数为16,加法运算时逢16进1,减法运算时借1当16。例如,数字 0、1、6、9、A、D、F、419、EA32、80A3、BC00 都是有效的十六进制。注意,十六进制中的字母不区分大小写,ABCDEF 也可以写作 abcdef。下面两张图详细演示了十六进制加减法的运算过程。

    1) 十六进制加法:6+7=D、18+BA=D2、595+792=D27、2F87+F8A=3F11

    图5:十六进制加法示意图

    abdc74ad3c50b2f8f83a1257ef3e372e.png

    2) 十六进制减法:D-3=A、52-2F=23、E07-141=CC6、7CA0-1CB1=5FEF

    图6:十六进制减法示意图

    8180161c382601f0e198de02c697fb10.png

    投稿邮箱:2080803313@qq.com

    编辑|排版|周宏伟 徐德文

    审校|邢本伟

    如需转载请询问后台返回搜狐,查看更多

    责任编辑:

    展开全文
  • 网上复制来复制去的连个靠谱答案都没有...f**k 所以无奈自己探索出来了 先放效果图 ...文本值 转 进制值 ...A2进制值 ...非十进制计算/运算方法 由于单元格没有提供进制格式,所以填入的值实际上是...

    网上复制来复制去的连个靠谱答案都没有...f**k

    所以无奈自己探索出来了

    先放效果图

     

     文本值 转 进制值

    单元格:A1文本值A2进制值
    输入内容:'fefe=OCT2HEX(HEX2OCT(A29))

     

     

     

     

     

    非十进制的计算/运算方法

    由于单元格没有提供进制格式,所以填入的值实际上是文本值,但是转换函数却可以把文本值视为进制值拿去转换(所以我们两次转换就能得到真正的进制数了)

    进制转换后再运算,如需把A28格和B28格作为十六进制相加,则需   分别使用16->8后,再相加两个8进制,再把结果8->16

    =OCT2HEX(HEX2OCT(A28)+HEX2OCT(B28))

     基于进制计算原理,整数可以放心用16 8 10 2进制随便互转,因为都是无损转换为2进制再转回16、8或10

              但是分数\小数方面只有2 8 16能无损互转,10进制转其他可能有精度损失。详见:十六进制,十进制,八进制,二进制转换(含小数部分)

     

    各进制互转换展示

    注意:尽量不要转为二进制,因为Excel里二进制范围仅仅为9位,也就是十进制的 -512~511

    #NUM! 代表数字错误,但不一定是值域问题

     

    其他进制数值域未测试,但是我猜:

    值域范围(我猜的)    HEX > DEC > OCT > BIN

     

     

    补充资料:如何利用EXCEL解析16进制字符串

    转载于:https://www.cnblogs.com/yucloud/p/10928454.html

    展开全文
  • 计算机中常用的计数制用若干数位(由数码表示)...另外,还有二进制、八进制和十六进制等。在计算机的数制中,要掌握3个概念,即数码、基数和位权。下面简单地介绍这3个概念。数码:一个数制中表示基本数值大小的不同...
  • 十六进制的加、减、乘、除、左移、右移计算

    万次阅读 多人点赞 2019-09-25 19:09:37
    二、十六进制减法 三、十六进制的乘法 四、十六进制的除法 五、十六进制的左移计算 六、十六进制的右移计算 十六进制计算方法和十进制差不多,十进制是满十进一,那么十六进制一样,满十六进一,不够时向前...
  • 十六进制教程进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制,比如 X 进制,就表示某一位置上的数运算时是逢 X 进一位,因此,...十六进制加法运算时逢16 进 1,减法运算时借 1 当 16。例如,数字 ...
  • (1)实现十六进制补码加减乘计算; (2)使用方法。把本脚本命名为calc.py。在terminal中输入python calc.py string。即可根据输入个string做计算。如,输入python calc.py 50x10*50x0f,既可以得到100x310。这里...
  • 有时需要对十六进制数做加减乘除,某些手机app能实现此功能,但使用起来未免有些麻烦,其实Windows自带的计算器就可以实现十六进制数的运算。 1.找到并打开计算器 2.点击如图所示的位置 3.点击程序员选项 ...
  • 数字逻辑电路 IC25_74LS193 双时钟同步十六进制减法计数器.doc 学习资料 复习资料 教学资源
  • 脚本介绍:(1)实现十六进制补码加减乘计算;(2)使用方法。把本脚本命名为calc.py。在terminal中输入python calc.py string。即可根据输入的string做计算。如,输入python calc.py 50x10*50x0f,既可以得到100x310。...
  • 十六进制:逢十六进一,数值有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 1.2 进制转换 二进制、八进制、十六进制转为十进制 十进制转为二进制、八进制、十六进制 1.3 原码,反码,补码 1.3.1 机器数和...
  • 先将十六进制形式的字符串变量转换成 Long 类型变量: 》 Long.parseLong(”A1", 16) 》 Long.parseLong(”0F", 16) 再进行相加,再转换成十六进制形式的字符串变量: 》Long.toHexString(Long.parseLong(”A1",...
  • 十六进制减法

    千次阅读 2015-07-17 10:50:51
    编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。   实验提示:   考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,...
  • 数字逻辑电路 IC24_74LS191 单时钟同步十六进制减法计数器.doc 学习资料 复习资料 教学资源
  • 二进制、八进制和十六进制

    千次阅读 2019-07-21 15:36:12
    借助同样的思想,计算机中有二进制、八进制、十六进制之说,接下来详细讲解进制加减法及不同进制之间转换。 一、二进制、八进制、十六进制 1.二进制 只用0、1两个数字来表示数值,这就是二进制...
  • 十六进制数转换成十进制数 题目:输入一个十六进制数,以十进制输出。。。 代码: #include<stdio.h> int main() { char a[10]; int b=0,len,i=0; gets(a); //输入十六进制数 len=strlen(a); if(a[0]==...
  • 我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示...因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在...
  • 十六进制的乘除法怎么运算

    千次阅读 2021-05-25 08:29:31
    计算350AH*12H为例:先用2*350A2*A=20 进一位余20-16=42*0=0 进零位余0加上面的进位等于12*5=10 进零位余A2*3=6 进零位余6所以2*350A=6A14同理10*350A=350A0最后350AH*12H=6A14+350A0=3BAB4扩展资料十六进制(英文...
  • 汇编 十六进制减法输出结果

    千次阅读 2018-11-10 16:55:29
    编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。 实验提示: 考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,再将4位二...
  • Java十六进制工具类

    2021-08-25 18:32:51
    十六进制字符串转字节数组 public static byte[] hexStrToBinaryStr(String hexString) { if (StringUtils.isEmpty(hexString)) { return null; } hexString = hexString.replaceAll(" ", ""); int len =...
  • 本文主要向大家介绍了C/C++知识点之怎样理解八进制和十六进制,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。C语言中8进制和16进制怎么表示C语言本身支持的三种输入是:1. 十进制。比如20,457;2....
  • 十六进制整数

    千次阅读 2019-06-20 21:54:58
    大的二进制数读起来很麻烦,因此十六进制数字就提供了一种简便的方式来表示二进制数据。十六进制整数中的 1 个数字就表示了 4 位二进制位,两个十六进制数字就能表示一个字节。 一个十六进制数字表示的范围是十进制...
  • 进制 我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。 例如:表示 5+8 的结果,一个数字...
  • 将原来整型换算成二进制数 PS : 二进制数如何换算 例子:整数125 笔算:1111101 或者用计算机里面自带的计算器 反码 将原码的符号位不变,其他位依次按位取反就可以得到了 反码+1就得到补码 PS:
  • 十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。 十六进制数同二进制数及十进制数一样,也可以写成展开式的形式。 十进制整数转十六进制数:“除以16取余,逆序排列”(除16取余法) 例:(1765)10=...
  • 16进制减法

    千次阅读 2021-09-22 15:45:32
    16位进制加减运算 3D25H - 05C3H = 3762H 3D25 -05C3 5-3=2 2-C=2-12 = (16+2-12) = 6 (由于2-12不够减,所以向前借1 即16) D-5=(13-1-5) = 7(13-1是因为2-12不够而被借走了一位) 3-0=3 结果为:3762H 用十进制时...
  • 十六进制之间的加减

    千次阅读 2019-08-25 10:18:48
    64位有符号整数a 0x7FFFFFFFFFFFFFFF 和 b0x8000000000000000相加,之后的10进制数?... 16个F就是64个1,由于二进制有符号数都是用最高位作为符号位,计算机作为存储负数用的是补码方式,其计算方式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,272
精华内容 5,708
关键字:

十六进制减法计算

友情链接: 19.rar