热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

汇编0进制转换

*2的2次方42的3次方82的4次方162的5次方322的6次方642的7次方1282的8次方2562的9次方5122的10次方10242的11次方10242的12次方20482的


/*

     
    2 的 2次方 == 4
    2 的 3次方 == 8
    2 的 4次方 == 16
    2 的 5次方 == 32
    2 的 6次方 == 64
    2 的 7次方 == 128
    2 的 8次方 == 256
    
    2 的 9次方 == 512
    2 的 10次方 == 1024
    2 的 11次方 == 1024
    2 的 12次方 == 2048
    2 的 13次方 == 4096
    2 的 14次方 == 8192

  二进制(Binary):

    在机器码的二进制中,如何去计算二进制转十进制? 从右向左,当前数字对应的索引下标 就是 几次方,如果当前位置是1 就是 1*2的索引次方  如果是 0 那就是0.每个位置的 1进行相加就行了,最后得到的就是十进制.

    11001010 二进制转换十进制 == 202

    1*(2 的7次方) == 128
    1*(2 的6次方) == 64 
    0*(2 的5次方) == 0           这里等于  0*32   ,0乘啥都等于0
    0*(2 的4次方) == 0
    1*(2 的3次方) == 8 
    0*(2 的2次方) == 0
    1*(2 的1次方) == 2
    0*(2 的0次方) == 0            任何数的0次方都等于1                    然后从上往下把等到的数 全部以十进制的加法加在一块就等到了十进制的数
    128+64+0+0+8+0+2+0 == 128+64+8+2 == 202

    十进制转二进制 是通过,十进制的数,不断的除以 2 得到的余数,进行连接, 当除以2后的得数等于0为止,然后我们从最后面的余数开始组拼,拼接到第一次的余数,就是转换成二进制了.
        202 十进制转换二进制  == 11001010
        200/2 = 101      余数 0
        101/2 = 50       余数 1
        50/2 = 25        余数 0
        25/2 = 12        余数 1
        12/2 = 6         余数 0
        6/2 = 3          余数 0
        3/2 = 1          余数 1 
        1/2 = 0          余数 1     从这里向上拼接   11001010 为什么要从下往上拼接呢,因为第一次的余数是个位开始的.

    
  十六进制(Hexadecimal)

        16  2次方 == 256
        16  3次方 == 4096
        16  4次方 == 65536
        16  5次方 == 1048576
        16  6次方 == 16777216
        16  7次方 == 268435456
        16  8次方 == 4294967296

    二进制和十六进制的对应关系:
        二进制                十六进制
        0                    0
        1                    1
        10                    2
        11                    3
        100                    4
        101                    5
        110                    6    
        111                    7
        1000                8    
        1001                9
        1010                A
        1011                B
        1100                C
        1101                D
        1110                E
        1111                F

    为什么程序员要用十六进制表示法来替代二进制,那么他们为什么不用十进制呢?
    主要由于十六进制表示法有两个非常好的特性:
        它很紧凑;
        在二进制和十六进制之间的转换非常容易.(重点)

  十六进制 是从 0到9 A到F                 
    A==10    B==11    C==12    D==13    E==14    F==15     这里没有16,因为是从0开始的. 就像二进制 只有0和1 ,与十进制不一样,   
    

    十六进制转换成十进制与二进制转换十进制一样, 只是把2 替换成16了
        1234 十六进制转换十进制:
            1*(16 的3次方) == 4096
            2*(16 的2次方) == 512
            3*(16 的1次方) == 48
            4*(16 的0次方) == 4
            4096+512+48+4 == 4660 转换成功

    十六进制转换二进制就非常的简单了.通过上面二进制和十六进制的对应关系表就能知道怎么转换了.直接用表去对应就可以了,例如数据:
        二进制的  1011110110101010  我们把它每4位进行分割得到如下数据,4位对应表中的十六进制进行转换就OK了:
        1011 1101 1010 1010(2进制)            ==   BDAA(16进制)  == (8+0+2+1) + (8+4+0+1) + (8+0+2+0) + (8+0+2+0)   (10进制)
        
        可以不用背诵,直接找个对照图就行了.
        十六进制转换二进制 也是对照图......脑残不会转.


        我们以十六进制来替代二进制的表示,这样就可以让我们可以非常容易的阅读了.

*/


推荐阅读
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 深入解析Java并发之ArrayBlockingQueue
    本文详细探讨了ArrayBlockingQueue,这是一种基于数组实现的阻塞队列。ArrayBlockingQueue在初始化时需要指定容量,因此它是一个有界的阻塞队列。文章不仅介绍了其基本概念和数据结构,还深入分析了其源码实现,包括各种入队、出队、获取元素和删除元素的方法。 ... [详细]
  • 本文将深入探讨两个有趣且引人思考的话题:一是许多程序员缺乏盲打技巧这一基础能力;二是技术管理者与技术专家之间的角色差异及国内现状。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 探讨 try-finally 结构中 finally 块的执行情况
    本文深入分析了 Java 中 try-finally 结构的执行机制,特别是探讨了在不同情况下 finally 块是否会得到执行。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 利用无代码平台实现高效业务应用开发
    随着市场环境的变化加速,全球企业都在探索更为敏捷的应用开发模式,以便快速响应新兴的商业机遇。然而,传统的软件开发方式不仅成本高昂,而且耗时较长,这往往导致IT与业务部门之间的合作障碍,进而影响项目的成功。本文将探讨如何通过无代码开发平台解决这些问题。 ... [详细]
  • 本文探讨了程序员这一职业的本质,认为他们是专注于问题解决的专业人士。文章深入分析了他们的日常工作状态、个人品质以及面对挑战时的态度,强调了编程不仅是一项技术活动,更是个人成长和精神修炼的过程。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • GBase 8a 开发者指南:JDBC 应用详解 5.4.2(5)
    本文档详细介绍了GBase 8a数据库中JDBC应用的高级特性与配置,帮助开发者更好地理解和使用JDBC接口进行数据库操作。 ... [详细]
author-avatar
lock2502898047_947
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有