zoukankan      html  css  js  c++  java
  • 二进制,八进制,十六进制,转成十进制

    了解二进制转十进制之前,先了解一下一个字节多少位,O(∩_∩)O哈哈~

    什么是位、字节、字、KB、MB呢?

      1. 位  "位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。

      2. 字节  8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。

      3. 字  "字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字节,字长为8位。如果是一台16位机,那么,它的1个字就由2个字节构成,字长为16位。字是计算机进行数据处理和运算的单位。

      4. KB  在一般的计量单位中,通常K表示1000。例如:1公里= 1000米,经常被写为1km;1公斤=1000克,写为1kg。同样K在二进制中也有类似的含义。只是这时K表示1024,也就是2的10次 方。1KB表示1K个Byte,也就是1024个字节。

      5. MB  计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。在二进制中,MB也表示到了百万级的数量级,但1MB不正好等于1000000字节,而是1048576字节,即 1MB = 2E+20 Bytes = 1048576Bytes。

    计算中一般二进制转十进制 需要补齐八位

    二进制 : 00101010

      二进制 转十进制

        整数二进制转换为十进制:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。

              先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制

        0 0 0 0 1 0 1 0

        0*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0

        0+ 0+ 0+ 0 + 8+ 0+ 2 + 0 = 10

        结果:10

      十进制 转二进制

      

      42为十进制数,除以2 取余数 为010101,然后取反101010 也即规范的写法为(42)(00101010)

    八进制: 01234567

      八进制 转十进制 

        72.45(八进制)

        7*8^1 + 2*8^0 + 4*8^(-1) + 5*8^(-2) 

        56 + 2 + 0.5 + 0.078125

        结果:58.578125(十进制结果)

      十进制 转八进制

      136(十进制数) (原理除以8取余数),然后取反,如下图:

      

      结果:210(八进制数)

    十六进制: 0123456789ABCEDF 

          A:代表10

          B:代表11

          C:代表12

          D:代表13

          E:代表14

          F:代表15

      十六进制 转十进制

      2AF5(十六进制数)

      2*16^3 + A*16^2 + F*16^1+ 5*16^0

      8192+ 10*256 + 15*16 + 5 = 10997

      结果: 10997(十进制数)

      十进制 转十六进制(除以16取余数,然后取反原理都是类似的)

      1610(十进制数)

      1610/16 = 100 ……10(A)

      100/16 = 6……4

      6/16 = 0 ……6

      结果:64A(十六进制数)

  • 相关阅读:
    git相关
    String,static,final
    tomcat和servlet的基本了解
    xml的相关知识
    js基础
    HTML
    Java之JDBC连接池
    Java之JDBC
    Java的内存模型
    Java的内存结构
  • 原文地址:https://www.cnblogs.com/z-dl/p/8259143.html
Copyright © 2011-2022 走看看