关于数据进制的简单操作,和一道有关进制的前端试题

关于数据进制的简单操作

本人前端一枚,最近无聊再看进制的东西,简单的总结了一些,如下

进制是什么就不说了,直接看内容吧,常用的进制 二进制 只有 0 1 ,八进制 ,十进制,十六进制,这些貌似对于前端没什么用处,那么就错了,下面我将会做些与前端相关的小实验

1.什么事进制
关于进制其实古时候就有这种说法,不过现在咱们习惯了生活中用十进制,所以没注意,比如 咱们小时候的数数,1,2,3,4,5,6,7,8,9, ------》10 ,!!!怎么就过了九个数字变成两位数了??? 这就是十进制,逢+进1.

二进制:逢2进1,生活中的 41 转为二进制 41/2 取余数 一直到 0
公式 商 余数
41 /2 20 1
20/2 10 0
10/2 5 0
5/2 2 1
2/2 1 0
1/2 0 1
得到了上面的过程 ,找到余数 从下向上 得到 101001
ok 二进制转好了

那么 二进制转为 十进制怎么转换呢?
根据上面的 过程 ,可以得到 公式 套用
1 0 1 0 0 1 一共六位数(从后往前数!)
1*(25) + 0*(24)+ 1*(23)+0*(22)+0*(21)+1*(20)
=32 +0 +8 +0 +0 +1
=41
完整对上了

八进制:八进制和二进制很相似,八进制是8进一 ,换句话就是
0 1 2 3 4 5 6 7 | 进1 !!!! |
试着转一下,顺便回顾一下上面
41 二进制 101001
公式 商 余数
41/8 5 1
5/8 0 5
得到八进制 51
下面试试 从 二进制 转为8进制
二进制: 1 0 1 0 0 1
在这里 取三个和一个 从后往前取,不足的 补个0
分成 两组 1 0 1 0 0 1

这两组 分别展开 求和
101 = 122 + 021+120 = 5
001 = 0
22+ 021+ 120 = 1
两个 拼接 51 !!!! 好神奇 怎么两个一样呢 ???
其实很简单 23 是 8 啊 ,看 上面 二进制的转换 方式 很容易的出来的 ,十进制转八进制和二进制很相似,所以不做太多的讲解,这里给大家看下二进制转到八进制的过程就可以了。

十进制 :这就不讲了吧 ,如果不懂建议搜索小学数学 (人教版的 二年级 到 五年级)

十六进制:十六进制和二八十进制大体意思一样,但是里面有一点小区别下面说一下

十六进制是这样的 :
0 1 2 3 4 5 6 7 8 9 A B C D E F
索引 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
这里到了十已及十以上 将会使用 ABCDEF 来表示 ,!注意 十六进制里面会出现X这个符号,X代表 0 到 15 里面的任意一个数字 ,咱们会经常看到 一串开头是 0X 的字符串,这就是十六进制

十进制转16进制 就是 除以16 取余,这没有什么好说的了,看一个 进制转换吧
3AD4 转换 10进制
从后面往前数:
索引 公式
0 4160 = 4
D 13
161 = 208
A 10162 = 2569
3 3
163 =12288
求和: 15069

好了以上是关于进制的一些应用,因为就看了一点所以就总结出来这么点。

下面看下前端这里
之前在网上看了一道关于逻辑运算符的题 ,但是地址给忘了,原题也给忘了(尴尬了 。。。),但是 我记得大体意思

大概就是 位运算符:| ,一个为真就是真,否则为假
console.log(2|0) => 2

console.log(1|2) => 3 ???

console.log(2|4) => 6 ??? 难道里面有相加

console.log(3|2) => 3 !!! 我去 咋不加了 ??

console.log(3|5) => 7 !!! 这尼玛不科学啊

难道是浏览器坏了 ???? 这到底是 程序的扭曲还是 代码的沦丧 !!!
其实这个 运算的时候 是转成 2进制走的 ,转成二进制就明白了 ,look!
挑两个 看下

3|2 3 二进制 是 011 2 的进制是 010
11| 10 |这个运算符 一个为真就是真,否则为假 所以 得到 11 也就是 3 了

再看 一个
3|5 3二进制 011 5 二进制 101
011 | 101 就是111了 转化为10进制 就是 7了
很有意思 ,大家可以在浏览器里面试试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值