原码权重:符号埋含尘位(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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)