2025-11-18 06:56:39
嗯这个-2510转二进制得用补码法对吧?首先得把正数2510转成二进制,然后取反加一。2510除2余0,接着1255除2余1,这样一步步算下来,得到正数的二进制是0。把每一位都翻过来变成1,再加1就变成0,前面补零到八位就是0对吧?
为啥是这个答案呢?先看正数转换过程,2510除2得1255余0,这步没错。然后1255除2商627余1,627除2商313余1,313除2商156余1,156除2商78余0,78除2商39余0,39除2商19余1,19除2商9余1,9除2商4余1,4除2商2余0,2除2商1余0,1除2商0余1。所以正数二进制是0。取反后是1,加1确实得到0。注意这里要补足八位的话前面加三个零,变成010。不过通常用32位的话,前面补28个零,但用户没说位数,所以可能直接写八位。数据都算对了,步骤也没问题,所以答案应该是这个样子的。
本题链接: