原碼補碼反碼

整數類型 原碼 反碼 補碼 移碼
正整數 0+自己 0+自己 0+自己 補碼各位取反
負整數 1+自己 1+各位取反 反碼加1 補碼各位取反

 

小數類型 原碼 反碼 補碼
正小數 0+小數位 0+小數位 0+小數位
負小數 1+小數位 1+小數位取反 反碼加1

X=0.1011 
[X]原=0 1011 
[X]反=0 1011 
[X]補=0 1011spa

X=-0.1011 
[X]原=1 1011 
[X]反=1 0100 
[X]補=1 0101code

var i = 2;
console.log(i.toString(2));
console.log(Array(8).join("0"));
console.log('12345678'.slice(-8));
console.log((Array(8).join("0")+(i.toString(2))).slice(-8));

var i=-2;
var yuanMa='1'+((Array(8).join("0")+(i.toString(2))).slice(-7).replace('-',0));
console.log(yuanMa);//原碼

var fanMa='1'+yuanMa.slice(1).split("").map(item=>item==="0"?"1":"0").join("");
console.log(fanMa);//反碼

// console.log(parseInt("10"));
var buMa=(parseInt(fanMa)+1).toString();
console.log(buMa);//補碼
相關文章
相關標籤/搜索