前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员的数学基础课(一)1.0和1的跳动 --- 二进制原理

程序员的数学基础课(一)1.0和1的跳动 --- 二进制原理

作者头像
zhaozhen
发布2021-07-15 10:30:52
5740
发布2021-07-15 10:30:52
举报

问题:什么是二进制?

原始时代,人类用路边的小石子,来统计放牧归来的羊只数量,这表明我们很早就产生了计数的意识。后来,罗马人用手指作为计数的工具,并在羊皮上画出Ⅰ、Ⅱ、Ⅲ来代替手指的数量。表示一只手时,就写成“Ⅴ”形,表示两只手时,就画成“ⅤⅤ”形等等。

公元 3 世纪左右,印度数学家(也有说法是阿拉伯人)发明了阿拉伯数字。阿拉伯数字由从 0 到 9 这样 10 个计数符号组成,并采取进位制法,高位在左,低位在右,从左往右书写。由于阿拉伯数字本身笔画简单,演算便利,因此它们逐渐在各国流行起来,成为世界通用的数字。日常生活中,我们广泛使用的十进制计数法,也是基于阿拉伯数字的。

这也是十进制计数法的基础。因此,相对其他计数方法,十进制最容易被我们所理解。

下面是二进制与十进制的表示方法

二进制的的53

二进制的的53

问题:一道面试题,如何写一个方法将10进制的数字转换为2进制的数 ?

解题思路:

  1. 将数据不断取余得到二进制字符串。
  • 利用堆栈的思想取二进制的字符串。

代码语言:javascript
复制
function binary(num) {
    // 存取每个位置的数组
    var resArry = [];
    // 存储二进制字符串
    var binary2 = ''
    i = 0;
    // 循环取余 终止条件为num = 0 时
    for (; num > 0;) {
        resArry.push(num % 2);
        num = parseInt(num / 2);
        i++;
    };
    // 用堆栈的思想从后面取值
    while (resArry.length) {
        binary2 += resArry.pop()
    }
    // 返回2进制表示的方式
    return binary2
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微瞰技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档