没有什么解释

你好, 几天前,我有一个从IBM/370转换的问题 系统到实际标准. 感谢你们中的几个(安东和 霍华德)我得到了代码来解决预期工作正常的问题. 我(不仅是python的新手,而且还有编程)试图 我自己了解代码,但最终我决定打扰列表 再次进行一些解释. 首先在这里我引用的代码 至: DEF IBM370TOFLOAT(四字节): i = struct.unpack('> i',四字节)[0] sign = [1,-1] [bool(i&0x100000000l)] 特征=((i >> 24)和0x7f)-64 分数=(i&0xffffff)/float(0x1000000l) 返回符号*16 **特征*分数 对我来说很难理解的是钻头的含义 操作员 &. 特别是表达方式 I&0x100000000L (i >> 24)&0x7f i&0xffffff 意思是? 我知道所涉及的物体是什么,我发现0x代表什么 我阅读了有关数字文字的教程,但不是很 向我清除这三行代码的基本逻辑. 任何人都可以 给我一些提示? 这也是我可以找到答案的建议 我自己会很有帮助. 安吉洛 - - ============================================== ====== Angelo Secchi PGP密钥ID:EA280337 ============================================== ====== 当前位置: 研究生同胞Scuola Superiore S.anna Piazza Martiri Della Liberta'33,Pisa,56127意大利 Ph.:+39 050 883365 电子邮件:sexphy@sssup.it www.sssup.it/~secchi/ ============================================== ======

# 回答1

在周二,2004年3月2日11:52:49 +0100,Angelo Secchi 写道: 该语法直接从C编程语言中获取. 咨询 Kernighan和Ritchie的" ANSI C",第二版,或查看Python语言 参考:http://www.python.org/doc/current/ref/bitwise.html http://www.python.org/doc/doc/current/ref/ref/shifting.html "&"是"钻头和". " >>"是" Bitshift右". 钻头布尔操作员 在操作数的每一点上进行操作,而不是整体上的价值. "&" 允许您仅选择两个操作数中设置的那些位. " >>" 允许您四处移动,以便可以将您的位解释为 小整数(从一个单词或更长的时间内选择一些位). 写这些数字的 *二进制 *表示形式,然后自己尝试. 很多 比试图在十六进制中理解它更容易. - - ben caradoc-davies http://wintersun.org/ 到达的监禁是正宗的澳大利亚移民经验.
# 回答2

安吉洛·塞奇(Angelo Secchi)写道: 这也可以做到: DEF IBM370(四字节): first = ord(四比[0]) 分数= struct.unpack('> i',chr(0)+fourbytes [1:]) * 2. ** -24 如果第一> 127:分数= -raction #or sign = [1,-1] [第一> 127] 特征=(First&0x7f)-64 返回分数 * 16 **特征 更清晰? - - -Scott David Daniels schedebydeydeythythy@acm.org

标签: python

添加新评论