精华内容
下载资源
问答
  • 原标题:二进制十进制十六进制在阿程学习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

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

    审校|邢本伟

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

    责任编辑:

    展开全文
  • 汇编 十六进制减法输出结果

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

    实验要求:
    编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。
    实验提示:
    考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,再将4位二进制数转换为ASCII码,利用DOS系统功能调用的2号子功能输出,就得到16进制数据的输出效果。本题要求综合应用移位操作、逻辑操作等指令,并利用条件转移指令实现简单的循环程序
    实验代码:
    CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    MOV BX,3550H
    SUB BX,2320H

    MOV ch,4;用于控制循环,循环四次

    NEXT1:
    mov cL,4
    ROL BX,cl ;左移四位操作到al中,位移数必须放在cl中

    MOV DL,BL
    AND DL,0FH;把无用位清零.

    cmp dl,9;比较
    JA NEXT2
    add DL,30H;在10以下的直接换为ASCII码是加30h
    jmp offset s
    NEXT2:
    add DL,37H ;在10以上的直接换为ASCII码是加37h
    s:
    MOV AH,2;显示dl中的数值,注:2号中断显示的是dl中的数值
    INT 21H

    ;控制循环
    sub ch,1
    CMP ch,0
    JZ over;若相等,跳出并循环结束

    ;不相等跳回
    jmp offset NEXT1

    over :
    ;显示一个H
    mov dl,17
    ADD DL,37H
    MOV AH,2
    INT 21H

    ;结束程序
    MOV AH,4CH
    INT 21H
    CODES ENDS
    END START

    原文链接:https://blog.csdn.net/zhangdongxuan/article/details/46924173#

    展开全文
  • Qt 十六进制的简单应用, 十六进制的加法 文章目录Qt 十六进制的简单应用, 十六进制的加法0. Qt 助手:1. 十六进制转为十进制2. 十进制转十六进制3. 十六进制加减的应用参考 0. Qt 助手: int QString::toInt(bool ...

    Qt 十六进制的简单应用, 十六进制的加法

    1. 十六进制转为十进制

    int QString::toInt(bool *ok = Q_NULLPTR, int base = 10) const

    Returns the string converted to an int using base base, which is 10 by default and must be between 2 and 36, or 0. Returns 0 if the conversion fails.
    If a conversion error occurs, *ok is set to false; otherwise *ok is set to true.
    If base is 0, the C language convention is used: If the string begins with “0x”, base 16 is used; if the string begins with “0”, base 8 is used; otherwise, base 10 is used.

    bool ok;
    QString hex = "100";
    int dec = hex.toInt(&ok, 16);//十六进制
    

    2. 十进制转十六进制

    QString QString::arg(int a, int fieldWidth = 0, int base = 10, QChar fillChar = QLatin1Char( ' ' )) const

    a:需要转换的数
    filedWidth: 转换后的数的位数
    base:底数
    fillChar:位数不够填充的字符
    QLatin1:ISO-8859-1的别名,有些环境下写作Latin-1。是单字节编码,向下兼容ASCII

    int dec = 100;
    QString hex = QString("%1").arg(dec, 5, 16, QLatin1Char('0'));
    

    输出: “00064”

    3. 十六进制加减的应用

    QString hexAri(QString str, int addend)
    {
    	bool ok;
    	int dec = str.toUInt(&ok, 16);
    	QString tmp = QString("%1").arg(dec + addend, 5, 16, QLatin1Char('0');
    	return tmp;
    	}
    

    参考

    Qt 十六进制和十进制转换

    展开全文
  • 十六进制减法

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

    实验要求:

    编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。

     

    实验提示:

     

    考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,再将4位二进制数转换为ASCII码,利用DOS系统功能调用的2号子功能输出,就得到16进制数据的输出效果。本题要求综合应用移位操作、逻辑操作等指令,并利用条件转移指令实现简单的循环程序

     

     

     

    实验流程图:

     

     

     

     

     

     

     

     

    实验代码:(这里做了详细的注释)

     

     

    DATAS SEGMENT
        ;此处输入数据段代码  
    DATAS ENDS
    
    STACKS SEGMENT
        ;此处输入堆栈段代码
    STACKS ENDS
    
    CODES SEGMENT
        ASSUME CS:CODES,DS:DATAS,SS:STACKS
    START:
    	    MOV AX,DATAS
    	    MOV DS,AX
    	    ;此处输入代码段代码
    	     MOV       BX,3550H
    	     SUB       BX,2321H
    	     
    	     MOV       ch,4;用于控制循环,循环四次
    	     
    NEXT1:
            mov cL,4
    	     ROL       BX,cl  ;左移四位操作到al中,位移数必须放在cl中
        
    	     MOV       DL,BL
    	     AND       DL,0FH;把无用位清零.
    	     
    	     cmp       dl,9;比较
    	     JA   NEXT2
    	     add       DL,30H;在10以下的直接换为ASCII码是加30h
    	     jmp offset s
    NEXT2: 
             add  DL,37H    ;在10以上的直接换为ASCII码是加37h
      s:
    	     MOV   AH,2;显示dl中的数值,注:2号中断显示的是dl中的数值
    	     INT   21H
    	     
    	     ;控制循环
    	     sub ch,1
    	     CMP  ch,0
    	     JZ  over;若相等,跳出并循环结束
    	     
    	     ;不相等跳回
    	     jmp offset NEXT1
               
    over : 
             ;显示一个H
    	     mov dl,17
    	     ADD DL,37H
    	     MOV AH,2
    	     INT 21H
    	     
    	     ;结束程序
    	     MOV AH,4CH
    	     INT 21H
    	     CODES ENDS
    	     END START
    
    
    
    
    
    
    
    
    
    
    
    
    

     自己写出来的,还是挺有成就感的

     实验结果:



     

     

    • 71763be1-5014-30c2-946c-947c73174b81-thumb.png
    • 大小: 10.3 KB
    • 2f58e52c-330d-39a2-bb00-f8d3176c8248-thumb.png
    • 大小: 17.7 KB
    • 3f87b6c5-88ce-3eb0-89d9-06d5464632ad-thumb.png
    • 大小: 21.2 KB
    展开全文
  • 十六进制数转换成十进制数 题目:输入一个十六进制数,以十进制输出。。。 代码: #include<stdio.h> int main() { char a[10]; int b=0,len,i=0; gets(a); //输入十六进制数 len=strlen(a); if(a[0]==...
  • 十六进制的加、减、乘、除、左移、右移计算

    万次阅读 多人点赞 2019-09-25 19:09:37
    二、十六进制减法 三、十六进制的乘法 四、十六进制的除法 五、十六进制的左移计算 六、十六进制的右移计算 十六进制计算方法和十进制差不多,十进制是满十进一,那么十六进制一样,满十六进一,不够时向前...
  • 十六进制计算方法

    万次阅读 2012-03-09 15:26:44
    首先,理解十六进制与十进制的关系。 十六进制共十五个元素,即0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。当满16时向高位进一。 十进制共有9个元素,即0、1、2、3、4、5、6、7、8、9。当满10时,向高位进...
  • 计算机中常用的计数制用若干数位(由数码表示)...另外,还有二进制、八进制和十六进制等。在计算机的数制中,要掌握3个概念,即数码、基数和位权。下面简单地介绍这3个概念。数码:一个数制中表示基本数值大小的不同...
  • 十进制、二进制和十六进制间1~15各自对应的数值。 二进制数加、减、乘、除四则运算。 加运算:0+0=0,0+1=1,1+0=1,1+1=10,(逢2进1); 减运算:1-1=0,1-0=1,0-0=0,0-1=1,(向高位,借1当2); 乘运算:0×0...
  • 十六进制整数

    千次阅读 2019-06-20 21:54:58
    大的二进制数读起来很麻烦,因此十六进制数字就提供了一种简便的方式来表示二进制数据。十六进制整数中的 1 个数字就表示了 4 位二进制位,两个十六进制数字就能表示一个字节。 一个十六进制数字表示的范围是十进制...
  • 十六进制数的加减法的进/借位规则为:借一当十六,逢十六进一。 十六进制数同二进制数及十进制数一样,也可以写成展开式的形式。 十进制整数转十六进制数:“除以16取余,逆序排列”(除16取余法) 例:(1765)10=...
  • 十六进制:逢十六进一,数值有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 1.2 进制转换 二进制、八进制、十六进制转为十进制 十进制转为二进制、八进制、十六进制 1.3 原码,反码,补码 1.3.1 机器数和...
  • 十六进制数的减法问题

    千次阅读 2010-11-07 21:41:00
    例如72H=0111 0010,35H=0011 0101,72H减35H等于多少,其中涉及到反码和补码,我不知道怎样计算,知道的请告诉我,越详细越好,若答得好,我追加20分,不懂勿答! 问题补充:我补充一下,我所说的问题是如何在计算机...
  • 借助同样的思想,计算机中有二进制、八进制、十六进制之说,接下来详细讲解进制加减法及不同进制之间转换。 一、二进制、八进制、十六进制 1.二进制 只用0、1两个数字来表示数值,这就是二进制...
  • 目录十进制、二进制、八进制、十六进制对应表二进制转十进制8421码和十进制之间的对应关系十进制转二进制二进制、十进制互相转换(小数) 十进制、二进制、八进制、十六进制对应表 十进制 二进制 八进制 十六...
  • 二进制、八进制、十进制、十六进制 二进制:01,10,11100,10101010 加法:逢二进一 减法:借一当二 八进制:0-7组成, 加法:逢八进一 减法:借一当八,减法时,借来的8+个位数再减去要减的值就是答案 十...
  • (1)实现十六进制补码加减乘计算; (2)使用方法。把本脚本命名为calc.py。在terminal中输入python calc.py string。即可根据输入个string做计算。如,输入python calc.py 50x10*50x0f,既可以得到100x310。这里...
  • 在网上搜到的一个方法,对于IP与TCP的检验和运算,时常会遇到十多个十六位二进制数的反码运算,可以把它转换成十六进制进行相加,这样会大幅度的减少运算量。 打比方现在有三个十六位的二进制数: 二进制数 ...
  • 二进制到十六进制转换法加各种进制的运算
  • 计算机中使用的二进制表示方法在书写起来很长,不便于人类记忆,所以我们需要使用八进制、十六进制。我想不使用十进制的原因是二进制与十进制间存在非等值转换。  二进制数10100101.0101111转八进制:  以...
  • 常用进制数及其对应关系表 1-2 常见进制数所使用的基本符号表 1-3 二进制数与八进制数的对应关系表表 1-4 二进制数与十六进制数的对应关系2.不同进制数之间的相互转换1.任意进制数转换成十进制数2.十进制数转换成...
  • Java二进制、八进制、十进制、十六进制及其相互转换 进制的基本介绍 所有数字在计算机底层都以二进制形式存在。 对于整数,有四种表示方式: 二进制(binary): 0,1 ,满2进1.以0b或0B开头。 十进制(decimal): 0-9 ...
  • 程序员视角的计算机系统 2.1.1 十六进制的标识法 一个单独的字节由8个比特组成。在二进制的标识法,它的值从00000000(2)到1111111(2)。 当它被视为一个十进制的数时,它的值范围是0(10)到255(10)。对于描述...
  • 用汇编实现两个四位十六进制的数相加。得出的结果能更好的实现汇编的应用。
  • 将键盘输入的十六进制数转换为十进制输出。 实验原理 首先利用dos功能调用,读取输入的两位十六进制的第一位数字,首先判断输入的字符是否在0-9、a-f、A-F之间,如果不在则程序直接退出,如果在则将大写字母减37h,...
  • 软件界面上能显示课程设计题目、四则运算控制按钮、两组输入控件、一组输出控件,可实现连续运算,可实现单个元素的运算,也可实现一组数据的运算,可显示运算成功或运算错误提示。
  • 本文运用DEVC++软件,通过C++类的定义和重载运算符来实现十六进制数类的运算操作,代码以单文件的方式来构建。题目描述如下: 设计1~4位的无符号十六进制数据类class HEX. 可以创建如 ABCD、1234、DF09、AB、26之...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,655
精华内容 4,262
关键字:

十六进制减法计算