C的一个小题目
<P>求解2的64次方?</P><P>不知道到什么时候才能有答案。</P> 就是64个2相乘嘛 mov eax,1
mov ecx,40h
lop: imuleax,2
dececx
looplop
就是用一个循环就行
double sum;
sum=1;
for(int i=0;i<64;i++)
{
sum=sum*2;
}
差不多就这样了。 main()
{
int i,a=1;
for(i=1;i<=64;i++)a=a*2;
} 恩,是该用 double <P>下面是引用墙角野猫于2006-04-05 16:56发表的:<BR>恩,是该用 double<BR></P>
<P>不对啊,用这些都会得不到正确答案的,</P>
<P>不信可以运行下</P> <P>下面是引用你和我的距离于2006-04-05 16:20发表的:<BR>哈哈,LZ应该是非专业的吧,要么是大一新生,刚学C语言 <BR>mov eax,1<BR>mov ecx,40h<BR>lop: imul eax,2<BR>dec ecx<BR>.......<BR></P>
<P></P>
<P>我是大二的了,是计算机专业的,我自己认为我是我们班的一个高手,</P>
<P>虽然说我还是什么都不会,呵呵</P>
<P>这个题目我是在网上看到的,其实我第一感觉也是用实型数据,可是最终还是不行的</P>
<P>正确答案是 18446744073709551616</P>
<P>而如果用实型数据的话会得到18446744073709551600。00000的</P>
<P></P> 18446744073709551600 原来这个题目没我们想的那么简单 下面是引用墙角野猫于2006-04-05 19:43发表的:<BR>18446744073709551600<BR>2的64次方最后不可能是0的至少的偶数