主题:长整型转化字符串的疑惑
carefreeNumOne
[专家分:40] 发布于 2005-10-12 12:19:00
2^30 是 十位数
m& = 2 ^ 30
n= len(str(m&)) -1
print n
和
n = len(str(2^30)) - 1
print n
输出的结果前者为10正确, 后者为什么为13呢??
回复列表 (共3个回复)
沙发
moz [专家分:37620] 发布于 2005-10-12 12:55:00
你的str()在QB里是不对的
应该是str$()吧?
当你用的是 str$(m&) 的时候,m&是一个长整形的值=1073741824 (字符长度为10)
当你用的是 str$(2^30)的时候,(2^30)默认是一个单精度值=1.073742E+09 (字符长度为12)
不过你可以用后缀把默认的单精度改成长整形数值
print len(str$(2&^30&))-1
板凳
carefreeNumOne [专家分:40] 发布于 2005-10-12 13:02:00
真是抱歉啊,我是新手
写的漏洞很多!
现在明白了!这个问题回答的真不错
真要谢谢你了
3 楼
zqnhlm [专家分:780] 发布于 2005-10-13 21:04:00
呵呵
我来回复