<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>
轉載請注明出處。