zoukankan      html  css  js  c++  java
  • 更快地进行进制转换

    更快地进行进制转换

    本文主要针对二进制,八进制,十进制,十六进制中的一些转换提供一些技巧和思路,以加快进制转换的手算及心算速度.

    十进制转换成其他进制

    这里我举一个37.625(十进制)转换为二进制的例子来说明计算方法

    分成两个步骤

    步骤1

    打表,以1为基础,向左不断乘以2,向右不断除以2

    得出32 16 8 4 2 1 0.5 0.25 0.125 的表

    步骤2

    根据步骤1打出的表,每次取表中最大的数来进行减法运算,如果能被最大的数减去(结果大于等于0即能被减去)那么就减去该最大数,然后不断循环,直到结果为0.

    其全部过程由下图所示

    1582711261491

    最后填上小数部分,可得结果为100101.101

    这是二进制的,如果是十六进制的那么起打表为 256 16 1 1/16, 八进制的则为 64 8 1 1/8

    打出的表可以根据需要调整长度,然后再根据步骤2进行运算即可.

    这里可以类比推广到十进制转换成任意进制,不再赘述.

    二进制转换为十六进制

    再次以刚刚的数为例子100101.101 转换为十六进制

    1582718744736

    黄色部分:0010->3

    红色部分:0101->5

    绿色部分:1010->A

    最终可得结果为0x35.A

    二进制转换为八进制

    其过程与前面的'二进制转换为十六进制'方法相同,只不过八进制是以3个二进制数为一组

    总结

    二进制中128 64 32 16 8 4 2 1的表需要牢记,就可以足够应付心算255之内的数

  • 相关阅读:
    charles-Mock实践(数据修改)
    Git分支管理
    Git远程仓库
    Git安装与介绍
    IntelliJ IDEA安装
    Java-GUI
    How to deploy SSRS report from AX
    AX 2009 SSRS report installation and configuration
    How to create a menu item for SSRS report
    AX 2009 SSRS Report deploy language
  • 原文地址:https://www.cnblogs.com/virgildevil/p/12368327.html
Copyright © 2011-2022 走看看