美文网首页
python十进制正数、负数、小数和二进制互相转换

python十进制正数、负数、小数和二进制互相转换

作者: wanzhouyi | 来源:发表于2021-05-26 22:38 被阅读0次

二进制数转十进制数

整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加!

二进制正数转换为十进制:

以110为例,首先补齐位数,00000110,首位为0,则为正整数,那么将二进制中的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果

二进制转十进制.jpg
二进制负数转换为十进制:

如果二进制数补足位数之后首位为1,那么其对应的整数为负,那么需要先取反然后再换算
比如11111001,首位为1,那么需要先对其取反,即:-00000110
00000110,对应的十进制为6,因此11111001对应的十进制即为-6
换算公式可表示为:
11111001=-00000110=-6

二进制小数转换为十进制

如果将二进制0.110转换为十进制:
将二进制中的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果


二进制转十进制-小数.jpg

十进制数转二进制数

十进制正数转二进制:

要点:除二取余,倒序排列
解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取将除得的余数,即换算为二进制数的结果
例如把52换算成二进制数,计算结果如图:

十进制正数转二进制.gif
52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。
由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。
于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文都以8位为例。那么:
(52)_{10}=(00110100)_2
十进制负整数转二进制

要点:取反加一
解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,再对取补后的结果加1即可
例如要把-52换算成二进制:

  1. 先取得52的二进制:00110100
  2. 对所得到的二进制数取反:11001011
  3. 将取反后的数值加一即可:11001100
    即:
    (-52)_{10}=(11001100)_2
十进制小数转二进制

要点:乘二取整,正序排列
解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0或者已经取到了足够位数。每次取的整数部分,按先后次序排列,就构成了二进制小数的序列
例如把0.2转换为二进制,转换过程如图:

十进制小数转二进制.gif

0.2乘以2,取整后小数部分再乘以2,运算4次后得到的整数部分依次为0、0、1、1,结果又变成了0.2,
若果0.2再乘以2后会循环刚开始的4次运算,所以0.2转换二进制后将是0011的循环,即:
(0.2)_{10}=(0.0011 0011 0011 .....)_2

相关文章

  • python十进制正数、负数、小数和二进制互相转换

    二进制数转十进制数 整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2的负幂次然后依次相加! 二进制正数...

  • leetcode 29 右移操作+int 负数知识

    二进制负数 正数的十进制对应。负数转换成十进制负数的法则和口诀: 异或:a^b ab状态不同时=1,相同时=0; ...

  • 进制转换

    一.十进制(正数,含小数)转二进制 例:10.625(十进制)转二进制 十进制转二进制时,整数部分和小数部分采取不...

  • C++十进制小数转二进制

    之前经常接触的都是十进制整数转换二进制,记录一下十进制小数转化二进制的方法。小数分为整数区域和小数区域,以小数点相...

  • java位移操作

    十进制、二进制 十进制数在计算机中的表示方法,对于正数和负数是不一样的。负数:绝对值对应的二进制,取反码,将反码加...

  • 大厂面试高频题:十进制有理数转二进制算法

    十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并...

  • 二进制负数

    二进制负数 由原码的补码表示 原码:正数-数字的绝对值转换为二进制负数-数字的绝对值转换为二进制后最高位补1例:5...

  • 原码、反码、补码

    原码: 原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制...

  • 二进制与浮点数

    二进制 十进制小数转二进制小数 二进制小数转十进制小数 补数 补数可以简单对应到十进制中的相反数,如 10与-10...

  • Java 数据类型 类型转换 运算符

    常用的进制二进制八进制十进制十六进制进制之间是可以互相转换的。 进制如何转换 以二进制和十进制进制为例10 -> ...

网友评论

      本文标题:python十进制正数、负数、小数和二进制互相转换

      本文链接:https://www.haomeiwen.com/subject/avvlsltx.html