第十七天


(题目来源: 前端每日知识3+1)

Javascript题目

题目 : 进制转换(js)

问题解答

解题思路

javascript

  1. function valueAtBit(num, bit) {
  2. let res = num.toString(2);
  3. console.log(res);
  4. return res[res.length - bit];
  5. }
  6. console.log(valueAtBit(128, 2));

c语言实现

  1. #include <stdio.h>
  2. void main() {
  3. //进制转换函数的声明
  4. int transfer(int x);
  5. int x;
  6. printf("请输入一个十进制数:");
  7. scanf("%d", &x);
  8. printf("转换成二进制数是:%d\n", transfer(x));
  9. }
  10. int transfer(int x) {
  11. int p = 1, y = 0, yushu;
  12. while (1) {
  13. yushu = x % 2;
  14. x /= 2;
  15. y += yushu * p;
  16. p *= 10;
  17. if (x < 2) {
  18. y += x * p;
  19. break;
  20. }
  21. }
  22. return y;
  23. }

十进制转8位二进制

  1. function convertToBinary(num) {
  2. let res = num.toString(2);
  3. while (res.length < 8) {
  4. res = '0' + res;
  5. }
  6. return res;
  7. }

知识扩展

  • Number.toString(a) 方法可把一个 Number 对象转换为一个字符串, 并返回数字的字符串表示.a 表示数字的基数, 为 2 ~ 36 之间的整数. 若省略该参数, 则默认使用基数 10. 例如, 当 a 为 2 时, Number 会被转换为二进制值表示的字符串.
  • 【《一文看懂浏览器事件循环》浏览器事件循环
  • toFixed(num):toFixed() 方法可把 Number 四舍五入为指定小数位数的数字; 参数num: 代表小数位数.