二进制、八进制、十进制、十六进制之间的转换

二进制、八进制、十进制、十六进制之间的转换
             


进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。具体的用法小编今天不着重解释,主要针对他们之间的转换加以讨论(今天只讲整数)。

二进制、八进制、十进制、十六进制之间的转换

二进制与十进制之间的转换

  1. 1

    十进制转二进制

    方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换




  2. 2

    二进制转十进制

    方法为:把二进制数按权展开、相加即得十进制数。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换 

  1. 1

    二进制与八进制之间的转换

    二进制转八进制

    方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换




  2. 2

    八进制转成二进制

    方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换
    END





二进制与十六进制之间的转换

  1. 1

    二进制转十六进制

    方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换





  2. 2

    十六进制转二进制

    方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换
    END






十进制与八进制与十六进制之间的转换

  1. 1

    十进制转八进制或者十六进制有两种方法

    第一:间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。

  2. 2

    第二:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换




  3. 3

    八进制或者十六进制转成十进制

    方法为:把八进制、十六进制数按权展开、相加即得十进制数。

    (具体用法如下图)

    二进制、八进制、十进制、十六进制之间的转换
    END






十六进制与八进制之间的转换



2进制和16进制转换技巧

 

不过这二者的转换却不用计算,每个CC++程序员都能做到看见二进制数,直接就能转换为十六进制数,反之亦然。

我们也一样,只要学完这一小节,就能做到。

首先我们来看一个二进制数:1111,它是多少呢?

你可能还要这样计算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15

然而,由于11114位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8421。即,最高位的权值为2^3 8,然后依次是 2^2 42^122^0 1

记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

下面列出四位二进制数 xxxx 所有可能的值(中间略过部分)

4位的2进制数 快速计算方法 十进制值 十六进值

1111 = 8 + 4 + 2 + 1 = 15 F

1110 = 8 + 4 + 2 + 0 = 14 E

1101 = 8 + 4 + 0 + 1 = 13 D

1100 = 8 + 4 + 0 + 0 = 12 C

1011 = 8 + 4 + 0 + 1 = 11 B

1010 = 8 + 0 + 2 + 0 = 10 A

1001 = 8 + 0 + 0 + 1 = 10 9

....

0001 = 0 + 0 + 0 + 1 = 1 1

0000 = 0 + 0 + 0 + 0 = 0 0

二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。

(上行为二制数,下面为对应的十六进制)

1111 1101 1010 0101 1001 1011

F D A 5 9 B

反过来,当我们看到 FD时,如何迅速将它转换为二进制数呢?

先转换F

看到F,我们需知道它是15(可能你还不熟悉AF这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 1111

接着转换 D

看到D,知道它是1313如何用8421凑呢?应该是:8 + 2 + 1,即:1011

所以,FD转换为二进制数,为: 1111 1011

由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。

 

 

 

 

 

 

10进制小数和2进制小数转换

 

整数部分从低位至高位1,2,4,8,16,32......

小数部分从小数点位置开始:1/2,1/4,1/8,1/16....

即:1010.1011=8+2+1/2+1/8+1/16

^”代表幂)

1101.0111=1*2^3+1*2^2+0*2^1+1*2^0+0*2^(-1)+1*2^(-2)+1*2^(-3)+1*2^(-4)

小数部分是如果小数点后第一位为1的话就加上0.5(1/2),第二位加上0.25(1/4),第三位加上0.125(1/8),接着就是1/16,1/32,1/64.....。无论算出多少都是正确的。你也可以后过来算,你算了十进制数后,就拿小数部分*2

7/16=0.4375

0.4375*2=0.875 整数部分为0 即当前二进制数值为:0.0

0.875*2=1.75 整数部分为1 即当前二进制数值为:0.01 去掉1后继续运算。

0.75*2=1.5 整数部分为1 即当前二进制数值为:0.011 去掉1后继续运算。

0.5*2=1.0 整数部分为1 即当前二进制数值为:0.0111 去掉1后为0,运算结束。

0.4375的二进制数为:0.0111

 

十进制 = 16进制的整数部分 . 16进制的小数部分

 

将二进制101011.101转换为十六进制为2B.A

将十六进制6E.2转换为二进制为01101110.00101101110.001 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值