资讯专栏INFORMATION COLUMN

二进制与十进制之间的转换

silencezwm / 1275人阅读

摘要:例如二进制数,最右边的与量值相关联往左一位与量值相关联,以此类推,整个数的数值等于,这也就是它的十进制表示,下面说一下十进制和进制之间具体的转换方法。

我们从小学习使用的阿拉伯数字就是十进制的,这大概是因为我们有十根手指、十个脚趾,便于计数吧。而计算机和我们不同,它只有开和关这两种状态,也就是0和1,所以计算机使用二进制会更方便。
在十进制里,每一位上的数值都和这个位上特定的量值相关联。比如123这个数,最低位的数值为3,它和这个位的量值即1(10º)相关联;十位数2和10(10¹)相关联;百位数1和100(10²)相关联,整个数的数值就等于(1 x 10² + 2 x 10¹ + 3 x 10º)。
由此及彼,n进制的数值也是这样计算的,不过它每一位的量值都是n的倍数。例如二进制数1101,最右边的1与量值1(2º)相关联;往左一位0与量值2(2¹)相关联,以此类推,整个数的数值等于(1 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2º)= 13,这也就是它的十进制表示,下面说一下十进制和n进制之间具体的转换方法。

十进制转换成n进制算法如下:

将该值除以n,记下余数;

将上一步得到的商继续除以n,记下余数,直至商为0;

商为0时,将余数按所记录的顺序从右至左依次排列,即得到该值的二进制表示。

   var transform = function(num, n) {
     var list = [];
     if(num <= 1) {
       return num;
     }
     while(num > 0) {
       list.push(num % n);
       num = Math.floor(num / n);
     }
     var result = list.reverse().join("");
     return result;
   }  

n进制转换为十进制方法即将每一位上的数值乘以该位的量值,最后把所有的乘积加起来就得到该n进制数的十进制表示了,具体程序如下:

   var transInt = function(num, n) {
     var list = (num+"").split("");
     list.reverse();
     var result = 0;
     for(var i = 0; i < list.length; i++) {
       result += Number(list[i]) * n**i;
     }
     return result;
   }   

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80383.html

相关文章

  • WebSocket系列之字符串如何进制数据间进行互相转换

    摘要:总结通过使用和,我们能够在数据和二进制数据中进行互相转换。下一篇系列相关的博客,将会介绍如何通过来向后端传递二进制数据,以及如何处理通过收到的二进制数据。 概述 上一篇博客我们说到了如何进行数字类型(如Short、Int、Long类型)如何在JavaScript中进行二进制转换,如果感兴趣的可以可以阅读本系列第二篇博客——WebSocket系列之JavaScript中数字数据如何转换为...

    stackfing 评论0 收藏0
  • Java™ 教程(数字)

    数字 本节首先讨论java.lang包中的Number类,它的子类,以及使用这些类的实例化而不是原始数字类型的情况。 本节还介绍了PrintStream和DecimalFormat类,它们提供了编写格式化数字输出的方法。 最后,讨论了java.lang中的Math类,它包含数学函数,以补充语言中内置的运算符,该类具有三角函数,指数函数等方法。 数字类 使用数字时,大多数时候在代码中使用基元类型,例...

    Tonny 评论0 收藏0
  • WebSocket系列之JavaScript中数字数据如何转换进制数据

    摘要:以和为例,说明中的数字数据如何转换为二进制数据。对象用来表示通用的固定长度的原始二进制数据缓冲区。中的数字数据如何转换为二进制数据对和有了一个大概的了解,下面让我们来看下它是如何进行二进制数据操作的。 概述 本文主要通过对JavaScript中数字数据与二进制数据之间的转换,让读者能够了解在JavaScript中如何对数字类型(包括但不限于Number类型)进行处理。 二进制数据在日常...

    MASAILA 评论0 收藏0
  • java学习(二) —— java基础语法

    摘要:前言的基础语法与有很多相似之处,但是也有一些特定的关键词是独有的。以开头八进制由,,组成。整数默认是十进制十六进制由,,,,,,,,组成。初始化值必须初始化值,否则不能使用变量。 前言 java的基础语法与php有很多相似之处,但是也有一些特定的关键词是java独有的。 java的基础语法大体就包括:关键字,标识符,注释,常量,进制和进制转换,变量,数据类型和类型转换,运算符,语句 ...

    caiyongji 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<