前一篇我们介绍了模2运算的加减乘除运算 ,虽然,我们了解了模二运算的基本法则,但是,如果每次都要计算,那就未免觉得太繁琐,所以,这里我总结了一套自己的运算心得供大家学习。接下来,我们就要讲解一下如何基础算法中快速实现进制的转换。

举个栗子:

我们求以前求一个10进制的数转换成2进制的过程大致如此,用这个十进制数“除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。如下图所示:

你会发现,这种方法会有明显的缺陷,那就是如果这个10进制的数非常大,那么这样一直“除二取余”可能非常的浪费时间,甚至是浪费纸张。那莫有没有更好的方法实现了,答案肯定是有的,下面就介绍一下我的快速计算使用心得。

快速计算心得

首先我们需要背诵2的2到10的幂次方,这个我相信对大家都不难,它们分别是1、 2、4、8、16、32、64、128、 256、 512 、1024。而这些数对应的二进制分别1、10、 100 、1000 、10000 、100000、 1000000 、10000000、 100000000 、1000000000.

  1. 10进制转2进制
    接下来,就是开始心算的时候,比如:
 9=8+1                     那么对应的二进制就是:100113=8+4+1                  那么对应的二进制就是:110117=16+1                   那么对应的二进制就是:1000134=32+2                   那么对应的二进制就是:100010245=128+64+32+16+4+1      那么对应的二进制就是:11110101

每次从高位依次往下写,比如34 从32 往下写 依次是 16 、8 、4 、2 、1 在该位数上分解的数有该数就写1,没有就写0。

  1. 2进制转10进制
    同理,也是从高位开始计算,先数二进制数比如:
101010   共有6个数,那么就从2的(6-1)次方开始计算  分别是32,8,2   结果就是:32+8+2=42
100010   共有6个数,那么就从2的(6-1)次方开始计算  分别是32,2     结果就是:32+2=34
.........

好了,这个方法是不是很简单,如果觉得对你有帮助,不妨给一个小红星吧!
如果,你还是不了解,建议先看一下我的上一篇博客:模2运算的加减乘除运算

十进制与二进制快速互转换计算心得相关推荐

  1. c语言中二进制与十进制怎么转换器,十进制与二进制如何互转换?编程语言教会你进制编程...

    计算机语言中经常使用到进制之间的转换,本文介绍使用不同编程语言来如何实现十进制与二进制相互之间的转换?不同编程语言中进制转换原理是一样的. 十进制转换二进制原理:采用除2取余,逆序排列输出. 实现:用 ...

  2. 十进制到二进制的数制转换

    十进制到二进制的数制转换 1. 解题思路 手工法,就是用辗转相除取余数的方法,停止条件就是商为0 转换为计算机算法,就是让计算机去帮我们算除法,然后让**余数进栈** 2. 算法步骤 1. 初始化一个 ...

  3. 网络编程 网络地址点分十进制和二进制之间的转换

    网络编程 网络地址点分十进制和二进制之间的转换 点分十进制->二进制 点分十进制转二进制的函数有inet_addr,inet_aton,inet_network,inet_pton,它们都将输入 ...

  4. 十进制、二进制、十六进制转换

    十进制 进位规则:满十进一,用0.1.2.3.4.5.6.7.8.9来表示. 比如: 0,1,-,9 之后又是0,满十进一,也就是0,1,-,9,10,- 十进制是用0-9十个数码表示的数 二进制 二 ...

  5. java实现十进制与二进制之间的转换

    十进制转二进制 int num = 100;String str = Integer.toBinaryString(num);System.err.println("二进制===" ...

  6. 十进制与二进制之间的转换

    二进制转十进制 二进制的1001转为十进制:为  9. 十进制转二进制: 十进制的8转为二进制:为  1000 转载于:https://www.cnblogs.com/cuixiaomeng/p/67 ...

  7. 十进制与二进制间的转换(简述)

    什么是十进制? 人类算数使用十进制,人类可见.可读 是一种以10为基数的计数方法. 举例:289.27.161...... 什么是二进制? 计算机只识别机器码,即,二进制数 二进制是计算机最原始的机器 ...

  8. 十进制与二进制快速转换计算心得

    在基础的算法中,我们学的基本都是模二运算法则,但是已经熟悉了模二运算法则的时候,每次都要计算就未免觉得太繁琐,所以,这里我总结了一套自己的运算心得供大家学习. 首先我们需要背诵2的2到10的幂次方,这 ...

  9. 十进制转换为十六进制-八进制-二进制的进制转换计算

    进制换算在工作中是一项必不可少的技能,例如在RTC中得到的数据为十六进制的,但是我们使用时用的是十进制.这就免不了进行进制之间的换算.进制之间的换算可以手动计算进行换算,也可以编写程序进行换算.这里主 ...

最新文章

  1. 没有头文件调用cpp_VS2017中同一个解决方案下不同工程的调用
  2. “nvinfer1::ILogger”: 不能实例化抽象类
  3. Elasticlunr.js 简单介绍
  4. ***远程连接MYSQL提示1130 - Host is not allowed to connect to this MySQL server
  5. SpringBoot中通过@Value获取自定义配置的值
  6. 云计算中HMI的三大优点
  7. android 全局对话框(不依赖具体activity)
  8. 状压dp之二之三 炮兵阵地/玉米田 By cellur925
  9. LeNet网络配置文件 lenet_train_test.prototxt
  10. CSDN 首页的第一屏 广告/新闻 比率 = 40 : 2
  11. pytorch resnet50_用Pytorch手工实现ResNet50
  12. android 如何实现多级树形结构图(至少5级)
  13. HDU1753 大明A+B【大数】
  14. Scala 集合 —— Array、Map、Seq、Set
  15. 【三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 015期】
  16. Manjaro 安装搜狗输入法
  17. logit方程怎么写_碳酸钠和氯化钙的化学方程式怎么写
  18. 2015年11月27日 野外生存(一)刀
  19. Elasticsearch X-pack证书过期解决方法
  20. 小学第三册上计算机wps教案,《初始WPS》教学设计——溧阳市横涧小学  夏春芳...

热门文章

  1. 【吊炸天】TensorFlow什么的都弱爆了,强者只用Numpy搭建神经网络
  2. excel输入数字变成E+ 的问题
  3. Python cmp函数在Python3.4版本后就不存在了。全部换成了operator库了
  4. ubuntu 18.04 ROS melodic 尝试 ROS CANOPEN 控制 AGV
  5. 外媒:苹果已有条件批准京东方为iPhone 13供应OLED屏幕
  6. 苹果宣布北京时间9月15日凌晨举办发布会后,公司市值再创新高
  7. 华为P50系列即将登场:曝线下门店已开始准备样机、物料
  8. 华为MatePad 11配置曝光:骁龙865+2K/120Hz高刷屏
  9. 湖畔大学官微改名为“湖畔创研中心”
  10. 一加9硬件规格全曝光:120Hz流体屏+双重快充