进制转换(二进制,八进制,十进制)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZENGZISUZI/article/details/82215366

前言

对于整数,java语言有三种表现形式。

  1. 十进制,最常见,生活中使用的就是,范围:0-9,规则: 满10进1 。如“23”
  2. 八进制 ,范围:0-7 规则: 满8进1 用0开头。如“ “023”
  3. 十六进制,0-9,A-F(A->10,B->11,C->12,D->13,E->14,F->15) 规则:满16进1 用0x开头。

数据的表示形式

计数方式,数据的表现形式,以及进制的由来
在内存中是使用“1”和“0”来表示数据的。
基本规则:8位来表示一个最小的单位,表示一个字节。(一个字节是8个二进制位)
表示数据形式:采用101010的不同组合,来代替不同的字母,形成一张表-编码表,叫ASCII表(映射对应)英文字母。
进制的由来:二进制表示的数据长度太长,为了让进制的表现形式变短,出现了八进制。

二进制和十进制的转换

  • 十进制转二进制
    原理:对十进制数进行除2运算,
    比如:求十进制数6的二进制表现形式。
    解释:将余数从下往上排列,便是6的二进制数的表现形式。
    这里写图片描述
  • 二进制转十进制
    原理:二进制数×2的次幂的过程
    解释:次幂的第一位是0,然后以此往左推,2的1次幂,2的2次幂,2的3次幂……..
    因为二进制数不是1 就是0 ,只要确定某一位上是否为1,则将其对应的2的x次幂相加即可。
    这里写图片描述
    当8位都是1,则十进制为255,也就是以十进制为表现形式的一个字节最大是255.
    应用的例子:ip地址。每段都是用一个字节表示,所以ip最大数是255.

二进制的运算规则

原理:满2进1
5的二进制是101
4的二进制是100
这里写图片描述

其他进制转换

  • 二进制转十六进制
    说明:四个二进制代表一位来计算十六进制。
    原理:四个二进制最大值是15,满16进1
  • 二进制转八进制
    说明:三个二进制位代表一位来计算八进制,缺一位在最左侧拿0前补。
    原理:三个二进制最大值是7,满8进1
  • 二进制转换成八进制和十六进制,只是将每一位所得字符拼接,而不是相加,要与十进制区分开。
    -结果:十进制90的二进制为01011010
    十进制90的十六进制是0x5A
    十进制90的八进制是132
  • 由于进制间,转换成二进制换算比较简单,则此次只介绍相互转换成二进制的转换过程。

这里写图片描述

负数的二进制表现形式

整数在内存里,是占四个字节,一个字节是8位,也就是32位。
结论:负数的二进制表现形式是整数去反再加一的过程。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/ZENGZISUZI/article/details/82215366