原码补码反码

整数类型原码反码补码移码
正整数 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);//补码

 

posted @ 2019-05-16 17:08  sarah_wen  阅读(1937)  评论(0编辑  收藏  举报