计算机中的进制(二进制,八进制,十进制,十六进制)

编写背景

最近做了个项目,对接蓝牙设备通信,对接的时候第三方的设备需要协议加密,就用到了位运算(&,>>,<<),只是这个加密算法不是我写的,是公司的架构师写的,他是写java的。呵呵呵…我看了他的javascript代码加密算法,我懵了,我当时想javascript还能写这些吗?只能说厉害呀。学到用时方恨少。学习是一件终身受益的事情,不要等到用到的时候才认识到学习的重要性,才开始学习。要学会未雨绸缪,防患于未然。虽然前端不咋用这个进制编程,但还是得了解学习下才行,熟话说技多不压身,偶而的前端运算还是需要的哈。

进制介绍

进制:指进位制,是人们规定的一种进位方式。
表 示某一位置上的数,运算时是逢x进一位。
比如:十进制逢十进一,二进制就是逢二进一,八进制就是逢八进一…
常用进制:二进制,八进制,十进制,十六进制

十进制

运算规则:逢十进一,借一当十。
我们平常使用的数值都是十进制,该怎么运算就怎么运算。
十进制计算

二进制

介绍:二进制数据是用0和1两个数值来表示。例如:0101000
进位规则是:逢二进一;借位规则:借一当二。
二进制计算

八进制

八进制采用0,1,2,3,4,5,6,7八个数字,逢八进一。

十六进制

十六进制用数字0到9和字母A到F(或a~f)表示,其中A~F表示10~15。
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
前端css样式的颜色,基本就是用十六进制表示的,比如:#000000,#ededed,#eeeeee

不同进制的书写规则

十进制:数值默认都是10进制,不需要加任何修饰符。
二进制:数值前面以0b开头,b大小写都可以。
八进制:数值前面以0开头。
十六进制:数值前面以0x开头,x大小写都可以。

二进制到十进制的转换

公式:系数 * 基数的权次幂 相加

系数:每一位上的数。
基数:几进制,就是几
权:从数值的右侧,以0开始,逐个+1增加
二进制到十进制的转换

十进制到二进制的转换

公式:除基取余

使用源数据,不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。
十进制到二进制的转换

十进制到十六进制的转换

十进制到十六进制转换方法和十进制到二进制的转换方法一样。

公式:除基取余

使用源数据,不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。
十进制到十六进制转换

十进制到任意进制的转换

根据以上规则得出结论:

公式:除基取余

使用源数据,不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。

快速进制转换法

8421码:
8421码又称BCD码,是BCD代码中最常用的一种
BCD:(Binary-Coded Decimal)二进制码十进制数
在这种编码方式中,每一位二进制的1都是代表一个固定数值,把每一位的1代表的十进制数加起来 得到的结果就是它所代表的十进制数。

二进制快速转十进制

公式对照表
二进制快速转十进制
十进制8421对照表
二进制快速转十进制

二进制快速转八进制

八进制:将三个二进制位看为一组,再进行转换
原因:八进制逢八进一,三个二进制位最多可以表示111,也就是数值7,如果出现第四位,就超范围了。
先把二进制转10进制,然后拼起来就是八进制
二进制快速转八进制

二进制快速转十六进制

十六进制:将四个二进制位看为一组,再进行转换
原因:十六进制逢十六进一,四个二进制位最多可以表示1111,也就是数值15,如果出现第5位,就超范围了。
二进制快速转十六进制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值