首页 > 编程知识 正文

python最高位补码,python列表

时间:2023-05-04 18:21:09 阅读:174681 作者:3773

任务说明

背景

原代码的优点是容易理解和变换,缺点是符号位不能参与加法运算。 例如,将真值1和1相加后的结果为0,用4位源代码运算时,得到以下结果。

1和1对应的源代码分别为1001和0001;

1001 0001=1010;

1010对应的真值为10,计算结果有误。

因此,在源代码的编码比特参与运算时得到错误的结果,而在不涉及运算的情况下可对编码比特进行额外的处理,这增加了硬件实现的复杂性并且降低了计算速度。 加法运算是计算机最核心的功能,其速度在很大程度上决定着计算机的整体性能。 因此,计算机的基础使用的是补充代码,而不是原码。 源代码和完成代码之间还有一种过渡代码,称为“反向代码”。

与真值对应的逆代码的计算步骤如下。

如果真值为正,则反转码等于原代码,例如1001的8位反转码为00001001;

如果真值为负,则首先求出原代码,在原代码的符号位不变的情况下,逐位反转数字部分。 也就是说,8位源代码(如1001 )为10001001,而8位反转代码为11110110。

如果您不熟悉此过程,请参考上面的例题尝试以下计算:

任务

此任务具有通过实现Zhentofan(z )函数将给定的真z转换为8位反转代码的功能。 参数和返回值的要求与上关相同。 这意味着:

1 )参数z是长度小于或等于8的字符串,表示二进制整数。

2 ) z对应的真值符号可能是或-,也可能不是。 如果没有,则表示为正数,例如“-1001”、“101”、“101”。 都是z可取的值。

3 )函数返回值为字符串类型,表示与真值z相对应的8位反转代码。

相关知识

提示:以下是ZhenToFan函数的参考流程图。

可以看出,该过程主要涉及两个操作。 通过逐位反转源代码和数字部分,可以首先将这两个操作封装在两个函数中,然后在ZhenToFan函数中调用这两个函数,从而降低实现难度。 这实际上是此前多次被提及的“将复杂的问题分解为一系列简单的问题”。

编程要求

要在Begin-End区间实现Zhentofan(z )函数,请参考具体要求。

测试说明

例如,测试集1的输入可能如下所示:

-1001

测试集1的输出如下。

-1001 - 11110110

开始你的任务吧。 祝你成功。

n=8# # # # # # # begin # # # # # # # # # # # zefzhentoyuan (z ) 3360ifz(0)=='-':b='1'z=) ) iflen(z ) (N-1 ) :前端((N-1 )- len(z ) ) : zl.insert(0) 0, '1) ) ) ) z b ) y=''.join(ZL ) return ydef qufan(y ) y ) : yl=[ I for I in y ] for I in range (1) 1, len(YL ) ) 3360ifYL(I )=(1(:yl ) I )=(1) else:yl ) I )=(1) return(.join ) yl ) def ZhenToFan(z )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。