知道 补码,如何 计算 原码

知道 补码,如何 计算 原码,第1张

两种计算方法:

算法1: 补码=原码取反再蚂备链加1的逆运算

10010110是补码,应先减去1变为反码,得10010101;

由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106

算法2:负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按位取反的逆运算

10010110是补码,符号位与最后一个1之间的所有数字按位取反,闷孙滚乎得11101010

两种算法得出同样结果

输入任意整数,输出32位的补码。

输入其他,码胡结束程序。

#include<stdio.h>闷隐

int main()

{

int i,num=0

char s[33]={0}

while(1==scanf("%d",&num)){

for(i=0i<32i++){

s[i]= (0x01 &(num>>蚂模厅(31-i))) ? '1' : '0'

}

printf("%s\n",s)

}

return 0

}


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

原文地址: https://www.outofmemory.cn/yw/12378545.html

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

发表评论

登录后才能评论

评论列表(0条)

保存