猫史档案馆


【嗯哼君の算法教程】1二进制与十进制

用户:嗯哼君 渠源嗯哼君 渠源查看:6 回复:5 评论:6 创建时间:2018-10-14T13:50:29


嗯哼,我就系你们滴嗯哼君啦~~~

最近嗯哼君好不容易可以上会codemao,于是多发些教程证明我还活着先

今天嗯哼君就来给你们讲讲二、十进制之间的转换,仔细听好啦~~~

先来讲十进制转二进制,主要是求余数。

那什么是余数呢?还记得我们在小学二年级时一开始学的除法吗?

当时我们不会求小数点后面的,于是当整数部分除不尽的时候就直接把剩下的数列出来。

比如:3/2=1······1

43/2=21······1

你可能简单的不会求,这有个嗯哼君自己总结的公式,实在不行就套公式吧······

余数=除数-被除数*商

PS:其中商为整数

 

知道了余数是什么,我们就可以根据余数求二进制了。

母鸡你发现了没,若除数为2余数则必为1或0,二进制就是根据这个得来的。

整数的十转二:将一个数不断除以二直到该数为0,将余数倒过来排列就是二进制了。

具体到底该怎么求呢?我们来实际演练一下。

比如你要跟一个人表白,但是又羞于启齿,就可以用二进制来说“5201314”

5201314/2=2600657······0

2600657/2=1300328······1

1300328/2=6501喵·······0

6501喵/2=325082······0

325082/2=162541······0

162541/2=81270······1

81270/2=40635······0

40635/2=20317······1

20317/2=10158······1

10158/2=5079·······0

5079/2=2539······1

2539/2=1269······1

1269/2=634······1

634/2=317······0

317/2=158······1

158/2=79······0

79/2=39······1

39/2=19······1

19/2=9······1

9/2=4······1

4/2=2······0

2/2=1······0

2/1=0······1

没错,经过x遍演算我们终于将这么大一个数除到了0,接着我们把余数倒过来排列,就成了这个样子:

10011110101110110100010

没错,这就是5201314的二进制啦

学会了十转二,我们就要学二转十啦

整数的二转十:将每一位数乘2再乘以位数-1次方的和

我们继续用这个10011110101110110100010来演示一下,省的你被别人表白了还不知道

我们将0先划去(0乘以任何数还是0),只记1和位数。

在这团数字中,一共有13个1,位数分别是2、6、8、9、11、12、13、15、17、18、19、20与23。

因为位数还要减一,所以于是我们得出式子:2^1+2^5+2^7+2^8+2^10+2^11+2^12+2^14+2^16+2^17+2^18+2^19+2^22

是不是头都要炸了呢?没关系,再炸之前算出来先~~~

这个若位数太大的话可以用计算机按个几分钟,但是答案我们之前已经求出来了,是——5201314

但是之前我们学都是整数啊,小数咋整呢?

对于小数的十转二我们可以用“乘2取整,顺序排列”法

小数的十转二:将小数点后面的部分乘二,取整数后循环直到小数点后面为0,与前面的相加。

我们还是来具体实践一下。

我们想将520与1314用小数点隔开,具体步骤如下:

520/2=260······0

260/2=130······0

······

2/2=1······0

1/2=0······1

0.1314*2=0.2628(进整0)

0.2628*2=0.5259(进整0)

0.5259*2=1.0518(进整1)

0.0518*2=0.1039(去整1进整0)

······

(之后的步骤太过麻烦,处于版面考虑省略)

之后将各数相加即可。

另外,由于计算机内部表示数字的方式,所以可能会有所出入,但无妨大碍。

经过嗯哼君の幸苦努力,将最近值算了出来:1000001000.001000011010001101101110001011101011000111

那小数点的二转十呢?

小数的二转十:与整数的二转十一个样,只不过小数点的数序是反着算的(从左向右)也不用差一,且乘方是负的。

比如(这次来个简单点的吧):

1101.01=2^0+2^2+2^3+2^-2=13.25

好了,关于二进制与十进制的转换就到这里了,下期我们会讲求和公式(应该吧),我们下期再见!


回复

上一页1 页 / 共 1下一页
一个bug一个bug

center_image怎么弄啊?

点赞0


评论


嗯哼君 渠源嗯哼君 渠源

以后我还会出Python作品转换的方法偶~~~

点赞0


评论


主播喵副本主播喵副本

在17年就早已做出

点赞1


评论


BSS梅者如西BSS梅者如西

挖坟

点赞0


评论


淳朴的流星猫ofTt淳朴的流星猫ofTt

二进制帝yyds

点赞1


评论