2010,后来解析int64()和uint64 () ?
1视图(30天)
显示旧的评论
在释放在2010年之前,文字数字里面int64()和uint64()调用由MATLAB理解意义解析数字类双和调用int64()或uint64()方法生成的两倍。例如,
> > uint64 (18446744073709551600)
ans =
18446744073709551615
从2010年发布,文字数字而不是完全价值解析时间和给定适当的类型。
我没有R2010a或后可用,所以我会问人调查的局限性,解析的新版本,然后回来报告。
例如:
- uint64(18446744073709551600 + 0)一样uint64 (18446744073709551600) ?
- 同上uint64 (18446744073709551600 * 1) ?
- 同上uint64 (+ 18446744073709551600) ?
- 同上uint64 (18446744073709551600。) ?
- 同上uint64 (18446744073709551600.1) ?
- 同上uint64 (18446744073709551600 e0) ?
- 如何int64 (2 ^ 64 - 15) ?
- uint64(18446744073709551600/2)等于uint64 (9223372036854775800) ?
和更普遍,有任何表达式X的绝对值不超过2 ^ 53岁的
B = int64 (X);
是不一样的
= X;
B = uint64(一个);
吗?
0评论
答案(1)
弗里德里希
2011年7月12日
你好,
在这个测试R2011a 64位:
> > int64 (18446744073709551600)
ans =
9223372036854775807
> > uint64 (18446744073709551600 + 0)
ans =
18446744073709551615
> > uint64 (18446744073709551600 * 1)
ans =
18446744073709551615
> >
uint64 (+ 18446744073709551600)
ans =
18446744073709551615
> >
uint64 (18446744073709551600)。
ans =
18446744073709551615
> > uint64 (18446744073709551600.1)
ans =
18446744073709551615
> > uint64 (18446744073709551600 e0)
ans =
18446744073709551615
> > int64 (2 ^ 64 - 15)
ans =
9223372036854775807
> > uint64 (18446744073709551600/2)
ans =
9223372036854775808
> > uint64 (9223372036854775800)
ans =
9223372036854775800