计算十进制数,-32的补码,详细计算步骤?

计算十进制数,-32的补码,详细计算步骤?,第1张

原码权重:符号埋含尘位(1代表负数) 64 32 16 8 4 2 1。反码:负数符号位不变,其余取反。补码:负数符号位不变,其余反码+1。

-32

原码:1010 0000

反码:1101 1111

补码:1110 0000

扩展资料:

假设当前时针指向8点,而准确时间是6点,调整时间可有以下老镇两种拨法:一种是倒拨2小时,即8-2=6;另一种是顺拨10小时,8+10=12+6=6,即8-2=8+10=8+12-2(mod 12).在12为模的系统里,加10和减2效果是一样的,因此凡是减2运算,都弯禅可以用加10来代替。若用一般公式可表示为:a-b=a-b+mod=a+mod-b。对“模”而言,2和10互为补数。

参考资料来源:百度百科-补码

输入不超过65535的10进制数,将其以16位2进制数的形式显示补码 (neg指令意义的补码) 

 非数学意义上的补码 

        CODE  SEGMENT

              ASSUME    CS:CODE

              ORG       100H

      START:

              JMP       BBB

           X  DW        0

        MSG1  DB        10,13,'please input a number:','$'

        MSG2  DB        10,13,16 DUP(0),'$'

        BBB:  PUSH      CS

              POP       DS

              PUSH      CS

              POP       ES

              LEA       DX,MSG1

              MOV       AH,9

              INT       21H

              LEA       BX,X

       伍橘       MOV       AX,0

              PUSH      AX

     AGAIN1:

              MOV       AH,1

              INT       21H

   芦橘哪           CMP       AL,13

              JE        LINE0

              SUB       AL,30H

              MOV       AH,0

              MOV       SI,AX

              POP       AX

              MOV       CL,10

              MOV       CH,0

              MUL       CX

              ADD       AX,SI

              PUSH      AX

              JMP       AGAIN1

      LINE0:

              POP       AX

              NEG       AX          

              

              MOV       X,AX

      =================

              LEA       DI,MSG2

              INC       DI

              INC       DI

              MOV       陪码CX,16

              MOV       AX,X

     AGAIN2:

              ROL       AX,1

              JC        @1

              MOV       BYTE PTR[DI],30H

              JMP       @2

         @1:  MOV       BYTE PTR[DI],31H

         @2:  INC       DI

              LOOP      AGAIN2

      ==============

              LEA       DX,MSG2

              MOV       AH,9

              INT       21H

              MOV       AH,8

              INT       21H

              MOV       AH,4CH

              INT       21H

        CODE  ENDS

              END       START

372 除 16 取余中如 4 ,商 23 除 16 取余 7,商 1 ,用16进制表示:

372 == 0x0174 == 0000 0000 0000 0000 0000 0001 0111 0100

反码 1111 1111 1111 1111 1111 1110 1000 1011

补码==反码加1:1111 1111 1111 1111 1111 1110 1000 1100

写成32bit 16进数培岩制表示:0xfffffe8c

C 语言程序:

int x= -372

printf("%08x",(unsigned int) x)

TC 用薯御 long int

long int x= -372

printf("%08x",(unsigned long int) x)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8253263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存