美文网首页
原码、反码、补码以及python中各进制间的转换

原码、反码、补码以及python中各进制间的转换

作者: 像小象的云 | 来源:发表于2018-10-19 20:13 被阅读0次

原码、反码、补码以及python中各进制间的转换

计算机在存数字的时候,存的是数字的二进制的补码, 计算机内存的最小单位是位:1位只能存储两个状态(0或1)

1、原码:整数数字的二进制形式

十进制的10的原码就是:1010
最高位是符号位,如果正数符号位为0,负数符号位为1
10的原码 00000000 00001010
-10的原码 10000000 00001010

2、反码

正数的反码就是它的原码,负数的反码就是这个数的原码的符号位不变,然后其他位置上的数取反
-10 -> (原码)10000000 00001010 ->(反码)11111111 11110101

3、补码

正数的补码就是它的原码,负数的补码是它的反码加1
-10 -> (反码)11111111 11110101 -> (补码)1111111 11110110

总结:正的反码和补码都是原码;负数的补码是反码加1,反码是原码符号位不变,其他位取反。
为什么计算机存储数据的时候存补码?因为计算机中只有加法器,只能进行加操作。

4、python中各进制间相互转换

python支持通过二进制、八进制、十进制和十六进制的形式来直接表示整数
十进制:直接写的数字的值都是十进制的数 10、20、-10
二进制:需要加前缀 0b 0b11、0b1001
八进制:需要加前缀 0o或者0O 0o12、0O76
十六进制:需要加前缀 0x或者0X 0x14、0OAB

可以通过bin()、oct()、hex()分别将整数转换成二进制、八进制、十六进制。注意这三个函数的返回值是字符串类型

# bin(整数) --> 将括号中的整数,转换成二进制形式
print(bin(10), bin(0o56), bin(0xaf))
# print(type(bin(10)))

# oct(整数) --> 将括号中的整数,转换成八进制形式
print(oct(10), oct(0b110110), oct(0xaf))

# hex(整数) --> 将括号中的整数,转换成十六进制形式
print(hex(10), hex(0b110110), hex(0o56))

相关文章

  • 原码、反码、补码以及python中各进制间的转换

    原码、反码、补码以及python中各进制间的转换 计算机在存数字的时候,存的是数字的二进制的补码, 计算机内存的最...

  • python中的原码反码和补码

    python中的原码反码和补码 原码反码和补码的概念 原码:原码是二进制数字的一种简单的表示法。二进制首位为符号位...

  • 二进制原码、反码、补码运算及标志位

    一、二进制原码、反码、补码的转换 原码: 正整数的原码:这个数的二进制,符号位为0;正整数的原码=补码=反码 例1...

  • 对原码,反码,补码的理解

    对原码,反码,补码的理解 今日在对java的学习中,遇到进制转换的问题,发现有符号的数即负数的进制转换涉及到原码,...

  • 进制关系

    各进制的形式 正数的原码、反码、补码相同 负数的反码为原码各位取反,补码为反码+1 计算机的底层都是以补码的方式来...

  • Python基础学习线路图-2019小白珍藏版

    千锋Python学习线路简单示意图: 知识点细化: 数据的存储:Python概述、进制以及进制转换、原码、反码、补...

  • 原码、反码、补码

    正数 原码:一个数的二进制 反码:正数的反码就是其原码 补码:正数的补码就是其原码 例 负数 原码:一个数的二进制...

  • js中的位运算

    在了解位运算之前, 必须先了解一下什么是原码, 反码和补码, 以及二进制与十进制的转换. 原码一个数在计算机中是以...

  • 位运算

    原码,反码,补码 原码 正数的原码就是其二进制本身 负数的原码是把对应的正数的原码最高位改为1 反码 正数的反码就...

  • 原码、反码、补码和移码

    书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...

网友评论

      本文标题:原码、反码、补码以及python中各进制间的转换

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