高级前端手写代码【Q663】给定一个数值,给出它在 IEEE754 的表示,如符号位、指数位与分数位

给定一个数值,给出它在 IEEE754 的表示,如符号位、指数位与分数位

更多描述 相关问题:

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 681

Author 回答者: shfshanyue

代码见: 给定一个数值,给出它在 IEEE754 的表示,如符号位、指数位与分数位 - codepen

function formatToBinaryExponent(num) {
  const [int, dec] = String(num)
    .split(/(?=\.)/)
    .map((x) => Number(x).toString(2));
  const exponent = (int.length - 1).toString(2);
  const fraction = int.slice(1) + dec.slice(2);
  return {
    exponent,
    fraction: fraction.slice(0, 52),
    sign: num > 0,
    exact: fraction.length < 52,
  };
}
 
console.log(formatToBinaryExponent(13.5));