二进制,八进制,十六进制,转成十进制

Posted Z-DL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制,八进制,十六进制,转成十进制相关的知识,希望对你有一定的参考价值。

了解二进制转十进制之前,先了解一下一个字节多少位,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(十六进制数)

 

以上是关于二进制,八进制,十六进制,转成十进制的主要内容,如果未能解决你的问题,请参考以下文章

十进制的分数如何转成二进制的?

Java 进制转换

进制之间的转换

二进制,八进制,十六进制,转成十进制

Java各进制之间的转换

如何将十六进制转成十进制,在java中