go 语言基础 进制

进制

二进制,二进制就是0和1组成的代码,是计算机唯一能看懂的语言,所有程序代码最终都会被转成二进制

代码让计算机去阅读,从而实现。

逢二进一 二进制中只有0和1,第一个数字是0,0+1=0001,0001+1=0010,0010+1=0011,0011+1=0100 。。。。依次类推

十进制,就是我们平时使用的进制,也是我们最熟悉的,日常生活中最常使用的进制,

逢十进一 十进制有0-9,没有10,十进制和二进制我们平时用的最多,也最简单,还有八进制和十六进制,我们后面再说

二进制和十进制的转换

我们把二进制4位一分,比如0001,0010,0011,0100,0101,0110,0111,1000,1001与之相对应的是

                                        1,       2,     3,    4,    5,    6,    7,    8,    9

我们发现规律拿7也就是0111来举例子 二进制的最末一位,1,他就相当于是十进制的1

                                                           倒数第二位,1, 他就相当于是十进制的2

                                                           倒数第三位,1, 他就相当于是十进制的4

                                                                第一位 ,0,他就相当于是十进制的8,但是由于是0,所以这里也是0

1+2+4=7  所以0111就是7 通过这种方法我们可以迅速的用二进制转换成十进制,1111我们来快速计算下就是1+2+4+8=15,所以1111就是15。

再来一个0001 0001 突然出现了两个,怎么办。。聪明的你一定发现了规律,2,4,8,接下来就该16了,16后面就是32,32完了就是64,对就是这个规律,除了最末位是1,剩下的就是按这个顺序排的,所以0001 0001就是17。

当然 我们还有公式,由于不好理解我们就不详细去管他了,我可以把这些公式写下来

二进制--->十进制

A:二进制:每个位的数字,乘以权重(2的n次方),累加求和

           1111 =从末尾开始1*2^0+1*2^1+1*2^2+1*2^3=1+2+4+8=15

十进制转二进制

            十进制20转换二进制咋转嘞我们先拆分下20恩可以分成16+4,看到16和4突然意识到了什么4不就是0010嘛,那16呢不就是 0001 0000那把16和4组合在一起那就是0001 0010,貌似这就是20哈,好像对了,十进制如果遇到二进制,我们就把它拆分,拆分成我们熟悉的1,2,4,8,16,32,64等等,这种方法比较适用于数字比较小的100以内应该都可以口算出来

我们来试一个88,看到88 首先应该想到64,88-64还剩下多少呢,还剩下24,这就好办了24拆分成16和8,88=64+16+8,我觉得我已经算出来二进制是多少了先从最小的开始写8=0000 1000 ,16=0001 0000  ,64=0100 0000我们来把这三个组合在一起,书0 的地方就还是0 有1的地方就改成1最后结果就是0101 1000,我们学过二进制转十进制,来验证一下验证下对不对,哈哈是对的,那碰上大数字咋办嘞

不要怕我们还有公式

B:十进制--->二进制、八进制、十六进制

十进制数,除以2、8、16,取余数,直到商为0,余数倒过来。

不过一般情况下,不会有人去让你去转换的,这都是计算机的工作,我们只要知道原理就可以了

八进制转换二进制

所谓八进制也就是逢八进一,1-7,到了8就10,然后继续往下

二进制也可以快速转换成八进制 我们把二进制分成三个一组,001,010,011,100,101,110,111 

                                                                                            1,    2,   3,     4,    5,   6 ,    7

由于八进制没有8更没有9所以到了7就结束了那八以后怎么表示呢,001 000 这就对应8进制中的10,哦你又发现规律了,除了没有8以后的数字,这个跟二进制转换十进制算法是差不多的,但是结果是不一样的,我们来练习一个,111 100 转换八进制还是从最末三个开始 100=八进制中的4 111呢=八进制中的7,所以111 100=八进制的74,这么简单吗?,就是三位拼一个数?是的就是这么简单。

来个难一点的111 100 110 110=八进制多少一个一个来 111=7 100=4 110=6 110=6所以结果就是 7466,好了二进制转八进制你也学会了,我们还想用八进制转十进制,那就先用八进制转成二进制,在由二进制转换成十进制就可以了,什么你说麻烦,好吧我来给你公式,

八进制:每个位的数字,乘以权重(8的n次方),累加求和

八进制:231--->十进制?
=1*8^0 + 3 * 8^1 + 2 * 8 ^ 2
=1*1 + 3*8 + 2*64
=1+24+128

=153

十六进制转换二进制

二八十我们都会互转了,还有个十六进制

十六进制包括

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
A:10
B:11
C:12
D:13
E:14
F:15

到了16咋表示呢,对就是10,

接下来是转换二进制转换十六进制,还是4位成一组,1000 1001,来算下1000=8,1001=9

所以合起来就是89。

那1000 1111等于多少呢 1000=8,1111=15吗?往上看下15用什么表示,原来是 F,所以就等于8F

十六进制转十进制我们也有公式哈

十六进制:每个位的数字,乘以权重(16的n次方),累加求和
十六进制:2C--->十进制?
=C*16^0 + 2*16^1
=12*1+2*16
=12+32
=44

到了这里我们基本都可以互相转换了,都可以先转换成二进制,然后再由二进制转换成各种进制。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值