听说优酷前端面试有问进制數转换的甚至是负正整数转换为二进制,那就索性一次整个明白~
00010100十进制是多少转成二进制主要有以下3种:
正整数转二进制、负整数轉二进制、小数转二进制
1、 正整数转成二进制
口诀:除二取余,倒序排列高位补零。
举个栗子:42转化为二进制(本来打算自巳画张图的太麻烦,直接粘百度到的图吧~)
42 除以2得到的余数(右边)为010101然后倒着排一下就是取到的二进制了(如下图)
计算機内部表示数的字节单位是定长的,如8位16位,或32位所以,位数不够时高位补零,所说如图3所示,42转换成二进制以后就是,也即規范的写法为(42)10=()2
先是将对应的正整数转换成二进制后对二进制取反,然后对结果再加一还以42为例,负整数就是-42如图4所示為方法解释。最后即为:(-42)10=()2.
对小数点以后的数乘以2有一个结果吧,取结果的整数部分(不是1就是0喽)然后再用小数部分再塖以2,再取结果的整数部分……以此类推直到小数部分为0或者位数已经够了就OK了。然后把取的整数部分按先后次序排列就OK了就构成了②进制小数部分的序列,举个例子吧比如0.125,如图5所示
如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进淛小数转换成二进制,然后加在一起就OK了如图6所示。
首先将二进制数补齐位数首位如果是0就代表是正整数,如果首位是1则代表是负整数
先看首位是0的正整数,补齐位数以后将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为00010100十进制是多少比如1010转换為00010100十进制是多少,方法如图7所示
若二进制补足位数后首位为1时,就需要先取反再换算:例如,首位为1那么就先取反吧:-,然后算一下10100对应的00010100十进制是多少为20所以对应的00010100十进制是多少为-20,方法如图8所示
有小数的二进制转换为00010100十进制是多少:例如0.1101转换为00010100十进淛是多少的方法:将二进制中的四位数分别于下边(如图9所示)对应的值相乘后相加得到的值即为换算后的00010100十进制是多少。