cainiao 发表于 2006-4-5 00:59

C的一个小题目

<P>求解2的64次方?</P>
<P>不知道到什么时候才能有答案。</P>

墙角野猫 发表于 2006-4-6 00:15

就是64个2相乘嘛

你和我的距离 发表于 2006-4-6 00:20

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;
   }
差不多就这样了。

墙角野猫 发表于 2006-4-6 00:53

main()
{
int i,a=1;
for(i=1;i<=64;i++)a=a*2;
}

墙角野猫 发表于 2006-4-6 00:56

恩,是该用 double

cainiao 发表于 2006-4-6 03:32

<P>下面是引用墙角野猫于2006-04-05 16:56发表的:<BR>恩,是该用 double<BR></P>
<P>不对啊,用这些都会得不到正确答案的,</P>
<P>不信可以运行下</P>

cainiao 发表于 2006-4-6 03:38

<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>

墙角野猫 发表于 2006-4-6 03:43

18446744073709551600

墙角野猫 发表于 2006-4-6 03:45

原来这个题目没我们想的那么简单

cainiao 发表于 2006-4-6 03:45

下面是引用墙角野猫于2006-04-05 19:43发表的:<BR>18446744073709551600<BR>2的64次方最后不可能是0的至少的偶数
页: [1] 2 3 4
查看完整版本: C的一个小题目