Python 板


LINE

python新手发问 在实作时遇到一个问题 (0).__sizeof__() 回传24bytes的大小 (1).__sizeof__() 为28bytes的大小 (1073741823).__sizeof__() 为28bytes的大小 (1073741824).__sizeof__() 为32bytes的大小 总结以上和实作 整数0 大小为24bytes 整数1~1073741823及-1~-1073741823为28bytes 整数1073741824~? 为32bytes ....以此类推 我想要问的是 1073741824大小为什麽是32bytes 而1073741823大小为什麽是28bytes 这个数字是如何推导出来的? 或者说背後的储存原理是什麽? (这个数字我是用for+if去抓出来的) 还有 为什麽整数0大小却是24bytes 而1之後却是28bytes了 爬stackoverflow没有相关的问题 google也没有讲解 甚至连python官方文件也没提到 所以上来发问 感激不尽 ----- Sent from JPTT on my Asus ASUS_Z00UD. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 110.28.72.40
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1498797116.A.3F8.html
1F:推 Yshuan: 我猜是python直译器 根据平台不同就会有不同的size实作 06/30 14:37
2F:→ mikapauli: python整数类似tuple,每多30位tuple长度多1 06/30 15:32
3F:→ mikapauli: 0类似空的tuple,正好空的tuple也是24bytes 06/30 15:33
4F:→ mikapauli: 只是tuple长度多1是多8bytes(因为64-bit?) 06/30 15:35
为何是30位长度多1 就是这个搞不清
5F:推 HenryLiKing: 感觉你问的问题都蛮深入的耶!!!! 06/30 16:35
※ 编辑: LessonWang (110.28.72.40), 06/30/2017 17:35:38
6F:→ freeunixer: 就只是因为不念书,伸手牌而已,跟深入有什麽关系? 06/30 18:39
7F:→ freeunixer: 去翻 spec 一定有讲.至少人家明明白白清清楚楚有交待, 06/30 18:40
8F:→ freeunixer: 24 bytes 是指那个 int var 是 0 .不是 0 就会往上加. 06/30 18:41
9F:→ freeunixer: 因为 3.x 会自动转型,所以数值超过原限制就会自动放大 06/30 18:44
10F:→ freeunixer: 3.x 版甚至也没有所谓明显的数型分别,依据实际值大小, 06/30 18:52
11F:→ freeunixer: 可以一直放大,放大到吃爆你记忆体为止. 06/30 18:53
12F:→ freeunixer: 每一件东西都只是看点皮毛,然後就开始瞎折腾,要答案, 06/30 18:55
13F:→ freeunixer: 这样是不行的. 06/30 18:55
14F:→ freeunixer: 如果是学来找问题,不是一般使用,直接 trace code 得了 06/30 19:01
实际应用的问题才是问题 这种刁钻难解而且有关语言本身底层运作的问题 真的毫无意义 只显得新手想一步登天而已 我会好好考虑之後问问题的模式 谢谢f大
15F:→ LessonWang: https://github.com/python/cpython/blob/master/Incl 06/30 19:13
16F:→ LessonWang: ude/longintrepr.h#L70 06/30 19:13
17F:→ mikapauli: 看了你给的连结,那就应该是因为要和2bytes的版本吻合 06/30 19:25
18F:→ mikapauli: 用我的理解帮你整理一下吧。为了方便转换到带号整数, 06/30 19:48
19F:→ mikapauli: 16-bit版的大数实作只用了15bits,以此写的pow_mod表有 06/30 19:51
20F:→ mikapauli: 32格(2**5)。以此沿用到32-bit版使其只用了30bits。 06/30 19:53
21F:→ mikapauli: 也不可能做长2**31的指数表,用30也合理。 06/30 19:54
原来如此 感谢m大!! ※ 编辑: LessonWang (110.28.72.40), 06/30/2017 19:57:17 ※ 编辑: LessonWang (110.28.72.40), 06/30/2017 19:58:23
22F:推 darkgerm: 我觉得这个问题还不错,帮推一个 06/30 23:59
23F:推 HenryLiKing: 你是不是在做这方面的专题呀? 07/01 00:30
没有哦
24F:推 Sunal: 推trace code从头来 这麽关注底层乾脆学C++好了 07/01 00:45
有考虑过xd ※ 编辑: LessonWang (110.28.72.40), 07/01/2017 08:20:53 ※ 编辑: LessonWang (110.28.72.40), 07/01/2017 09:14:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP