原码补码反码
整数类型 | 原码 | 反码 | 补码 | 移码 |
---|---|---|---|---|
正整数 | 0+本身 | 0+本身 | 0+本身 | 补码各位取反 |
负整数 | 1+本身 | 1+各位取反 | 反码加1 | 补码各位取反 |
小数类型 | 原码 | 反码 | 补码 |
---|---|---|---|
正小数 | 0+小数位 | 0+小数位 | 0+小数位 |
负小数 | 1+小数位 | 1+小数位取反 | 反码加1 |
X=0.1011
[X]原=0 1011
[X]反=0 1011
[X]补=0 1011
X=-0.1011
[X]原=1 1011
[X]反=1 0100
[X]补=1 0101
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);//补码