用javascript獲取整數的原碼、反碼、補碼



<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>

轉載請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM