<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var i=parseInt(prompt("请输入一个-128~127之间的整数:"));
document.write("计算机中数(二进制)的补码表示:");
document.write("<br />");
if(i>=0){
document.write(i+"(正数原反补码):"+(Array(8).join("0")+i.toString(2)).slice(-8));
document.write("<br />");
}
if(i<=0){
document.write("-"+Math.abs(i).toString()+"(负数原码):"+'1'+(Array(8).join("0")+i.toString(2)).slice(-7).replace('-',0));
document.write("<br />");
document.write("-"+Math.abs(i)+"(负数反码):"+'1'+(Array(8).join("0")+i.toString(2)).slice(-7).replace('-',0).split('').map(bit=>bit=='0'?'1':'0').join(''));
document.write("<br />");
var fsfm_plus1=parseInt((Array(8).join("0")+i.toString(2)).slice(-7).replace('-',0).split('').map(bit=>bit=='0'?'1':'0').join(''),2)+1;
document.write("-"+Math.abs(i)+"(负数补码):"+'1'+(Array(8).join("0")+fsfm_plus1.toString(2)).slice(-7).replace('-',0));
}
</script>
</body>
</html>
转载请注明出处。
