| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2260 人关注过本帖
标题:关于幂的运算问题(有点小儿科)
只看楼主 加入收藏
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
 问题点数:0 回复次数:9 
关于幂的运算问题(有点小儿科)
众位大虾好:
    我是一个非常菜的编程初学者。现在有关于进制方面的转换问题,难住了我。正整数的幂运算我会,可是正整数的负幂运算和负整数的幂运算我却十分地~~~不清楚。
    请哪位行行好,帮我解释说明一下,不胜感激。最好通俗些:比如2的3次幂=2*2*2=8,那么-2的3次幂=?,2的-3次幂=?,-2的13次幂=?
    希望众位不要因为问题简单可笑就不帮助我,请不吝指教。
    谢谢~@@感激涕零~
搜索更多相关主题的帖子: 小儿科 运算 
2007-12-09 22:31
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
首先,正负整数的幂运算是一样的.
比如:
#include<stdio.h>
int power(int x,int y)
{
    int n=y;
    int f=1;
    while(n--)
    {
        f*=x;
    
    }    return(f);
}
void main()
{
    int n=-2,m=3;
    printf("%d\n",power(n,m));
}

2007-12-09 22:51
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
其次,负幂运算时只要做点小改动就可以.
#include<stdio.h>
int power(int x,int y)
{
    int n=y;
    int f=1;
    while(-n--)
    {
        f*=x;
    
    }
    return(f);
}
void main()
{
    int n=-2,m=3;
    printf("1/%d\n",power(n,m));
}

2007-12-09 22:55
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
当然,这都是些比较低级的做法啦...

2007-12-09 22:56
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
最后一问,似乎没什么意义.

2007-12-09 23:00
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:0 
int m;
m=m>>3;
就是2的3次方,
2007-12-09 23:20
jxj777
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-10-27
收藏
得分:0 
回复 6# 的帖子
int m=1;
m<<=3;
左移乘2,右移除2

一个人的力量是缈小的....... 互帮互助才是出路
2007-12-10 13:19
夜礼服假面
Rank: 1
等 级:禁止访问
帖 子:92
专家分:0
注 册:2007-11-26
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2007-12-10 17:49
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
得分:0 
谢谢大家!
谢谢大家,我完全明白了。真感激~
2007-12-10 18:18
wslhnsng
Rank: 2
等 级:论坛游民
帖 子:48
专家分:37
注 册:2009-2-20
收藏
得分:0 
#include<stdio.h>
void main()
{    int x,y,i;
double s=1.0;
    scanf("%d%d",&x,&y);
    if(y<0)
    {for(i=-1;i>=y;i--)
    s=s/x;
    printf("%f\n",s);}
    if(y>0)
    {for(i=1;i<=y;i++)
    s=s/x;
    printf("%f\n",s);}
    if((y==x)&&(x==0))
        printf("error");

} 用for语句编写的 完全可以实现比如2的3次幂=2*2*2=8,那么-2的3次幂=?,2的-3次幂=?,-2的13次幂=?

2009-11-07 13:43
快速回复:关于幂的运算问题(有点小儿科)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024238 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved