python反码(csdn)————程序.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Python 反码编程————程序 在计算机领域中,编码方式是非常重要的概念之一。原码、反码和补码是三种基本的编码方式,每种编码方式都有其优缺点。原码的优点是容易理解、便于转换,缺点是符号位不能参与加法运算。例如,真实值 −1 和 +1 相加结果是 0,若用 4 位原码进行运算,过程如下: −1 和 +1 对应的原码分别是 1001 和 0001; 1001+0001=1010; 1010 对应的真实值是 −10,计算结果错误。 因此,计算机底层并不使用原码,而是使用补码,在原码和补码之间,还有一个过渡性的编码,称为“反码”。真实值对应的反码计算过程如下:真实值为正时,反码等于原码,如 +1001 的 8 位反码是 00001001;真实值为负时,先求原码,保持原码符号位不变,将数字部分按位取反(1 变 0、0 变 1),即得反码,如 −1001 的 8 位原码是 10001001,而它的 8 位反码是 11110110。 在 Python 编程中,实现 ZhenToFan(z) 函数,可以将给定的真实值 z 转换成 8 位反码。参数和返回值要求如下:参数 z 是长度不超过 8 的字符串,表示的是一个二进制整数;z 对应的真实值的符号可能是+或-,也可能没有,如没有,表示是正数,如’-1001’、’+101’、'101’都是 z 可能的取值;函数的返回值是字符串类型,表示真实值 z 对应的 8 位反码。 在实现 ZhenToFan(z) 函数时,可以将其分解成两个操作:求原码和数字部分按位取反。可以封装这两个操作成两个函数,然后在 ZhenToFan 函数中调用这两个函数,从而降低实现难度。 在编程要求中,需要在 Begin-End 区间实现 ZhenToFan(z)函数,具体要求见上。测试说明例如,测试集 1 的输入为:-1001,测试集 1 的输出为:-1001 -> 11110110。 在 Python 代码中,使用了三个函数:ZhenToYuan(z)、qufan(y) 和 ZhenToFan(z)。其中,ZhenToYuan(z) 函数将真实值 z 转换成原码,qufan(y) 函数将原码 y 转换成反码,ZhenToFan(z) 函数将真实值 z 转换成 8 位反码。 在 ZhenToYuan(z) 函数中,首先判断真实值 z 的符号,如果是负数,则符号位是 1,否则符号位是 0。然后,将真实值 z 转换成二进制字符串,并在符号位前面添加符号位。 在 qufan(y) 函数中,将原码 y 转换成反码,方法是将原码 y 的数字部分按位取反(1 变 0、0 变 1)。 在 ZhenToFan(z) 函数中,首先将真实值 z 转换成原码,然后判断原码的符号位,如果是负数,则将原码转换成反码,否则,直接返回原码。 因此,ZhenToFan(z) 函数可以将给定的真实值 z 转换成 8 位反码,满足编程要求。
- 粉丝: 0
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助