十进制整数转换成为二进制形式,以及十六进制形式

十进制无论转换成二进制还是十六进制本质其实大致相同。

其本质就是利用类似移位操作的方式,只是移位单位不同而已。转换成为二进制相当于移位运算;我们知道每次右移相当于 /2 ,左移相当于* 2 ;故我们的十进制转换成二进制不过是转换成二进制的移位方式。

如:十进制数字 13 

我们通过左移思想是 * 2 的思想 ,将其转换成某些二进制数字根据其分布形式能够得到十进制13的结果;如果我们最低位 为1的话说明这个二进制数字的十进制表示为1;如果次低位为1的话,说明这个二进制数字的十进制表示为2;同理我们可以追溯到13到底是怎么组合而成的。即13 = 8 + 4 + 1;也就是 二进制1101形式;但是这样回溯的方式还是比较麻烦,我们需要仔细推倒;但是我们不难发现这个方式能够成功的组成十进制数字的关键在于 *2;那么我们通过*2的方式由 1101推倒到了13,同理我们可以通过 / 2 的方式 由 13 推倒到 1101这是不难的。

那么我们来尝试 / 2 操作(记住这里是计算机的除法运算,而且是整数除法的计算)

13 / 2 ------------>  商   6         余  1

6 / 2 --------------> 商   3          余  0

3 / 2 --------------->商   1          余  1

1 / 2 ---------------> 商  0          余  1

因为除法与乘法之间是相逆的,最下面的除法必定是最上面的乘法;并且我们知道数法法则  被除数 = 除数 * 商 + 余数 这个相对于一个独立个体而言,而上述我们将这个独立个体分为了 13 、6 、 3 、 1 的阶梯话形式,并且最终使得商变为0;就是因为这个阶梯话的过程,使得我们必须按照一步一步的方式逆反获得原来的值;这时就跟每个阶梯话产生的因素有关了,即阶梯的坡度---因为是/2 操作我们阶梯的坡度不难想象是2;同理如果是16进制的话那么坡度就是16。这时候我们逆反的推倒的话,根据第一句的话,我们知道最先面的 1 / 2 -------------> 商 0 的操作是除了最多次的,这时候们就需要乘以做多次。那么次数是多少呢?不难由除数的商是小于 被除数 大于 0得出 我们在除法过程中最终的底层为1,那么可以得出最底层的结果是不会大于除数本身的即除数 <= 2 ^ 0 ;那么不难知道上述的最高层是多次*2 了 ,最多3次;这样我们将所得到的向上阶梯展示出来就是这样 1101 (左高右低)---->其十进制结果正好是13;

 

同理对于十六进制而言,只是阶梯的梯度不同而已;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值