C++编程 不用库函数,编写求整数次幂的函数long intPower(int bas
C++编程不用库函数,编写求整数次幂的函数longintPower(intbase,intexponent),求base的exponent次幂。谢谢亲们(=^.^=)...
C++编程
不用库函数,编写求整数次幂的函数long intPower(int base ,int exponent),求base的exponent次幂。 谢谢亲们(=^.^=) 展开
不用库函数,编写求整数次幂的函数long intPower(int base ,int exponent),求base的exponent次幂。 谢谢亲们(=^.^=) 展开
2016-03-13
展开全部
混沌是什么阶段,就是刚刚跨入软件开发这个领域。无论使用哪种语言,编过的程序都是寥寥,感觉什么东西都很新鲜,但是却也说不出来究竟有些什么东西可以学。《C++程序设计》--钱能如果你刚刚听说过世界上存在一门叫做C++的编程语言,而且由于种种原因需要尽快地了解C++语法知识的话,这是本教材恐怕是最合适的了。不要误解,我完全没有贬低这本书的意思,因为C++本身的复杂性,很少有图书适合真正的新手入门的。入门阶段已经有了一些软件开发的经验,懂得程序究竟是怎么一回事,但是对C++编程接触较少TheC++Programminglanguage》A:BjarneStroustrupT:裘宗燕《C++Primer》A:StanleyB.LippmanT:潘爱民作为一名真正的C++程序员,如果手头上这两部著作都没有的话,那么你C++语言的专业性是值得怀疑的。注意,我的用词是拥有(集体拥有亦可),而不是看过,因为很多过来人的经验表明,就算是有了10多年的开发经验,也总能从这两部著作中找到一些启发。以上两本著作任选其一皆可,虽然用有趣这个标准来衡量这两部书并不恰当,但如果你是一个初学者,而且对自己读书的耐性又不是特别自信的话,个人比较推荐《C++Primer》,反之如果你希望毫无遗漏的接受大师教诲的话,《TheC++Programminglanguage》是不二之选。提高阶段熟悉绝大多数C++语言的语法,已经用C++编写了一定数量的程序,这些程序中有不少存在着突然崩溃或是其他令人难堪的问题,但是自己也说不上来究竟是为什么。于是让别人给自己做个评价,得到的答案却是,原来自己的C++水平跟精通毫不搭界,称为熟悉都勉为其难。EffectiveC++》A:ScottMeyersT:侯捷《MoreEffectiveC++》A:ScottMeyersT:侯捷《ExceptionalC++》A:HerbSutterT:卓小涛《C++编程规范》--HerbSutter,AndreiAlexandrescuT:刘基诚
MoreExceptionalC++》当中充满了各种各样隐藏在C++深处的技巧,毫无疑问,掌握这些技巧将对C++水平的提高很有帮助,至少可以在不知道这些技巧的同行面前,卖弄一下会很有成就感,不过也有人提出这些技巧的实用性有待证实。与《MoreExceptionalC++》不同,《C++必知必会》中讨论的知识点是非常实际,而且相当重要的,从其名字当中的“必知必会”就可以看出来这本书的定位,之所以没有将其放到推荐的第一梯队,是因为虽然口碑很好,但是毕竟出版时间较晚,还没有经过时间的考验。深入阶段进入这个阶段的人编写C++程序已经不成问题,开发过程中的大部分问题都可以很快地找到关键并加以解决。但是,面对像类似Loki库代码时,会被震撼的说不出话来...,那好,恭喜,这里推荐的书目正好合适你。《ImperfectC++》A:MatthewWilsonT:荣耀 《深入C++对象模型》A:StanleyB.LippmanT:侯捷
MoreExceptionalC++》当中充满了各种各样隐藏在C++深处的技巧,毫无疑问,掌握这些技巧将对C++水平的提高很有帮助,至少可以在不知道这些技巧的同行面前,卖弄一下会很有成就感,不过也有人提出这些技巧的实用性有待证实。与《MoreExceptionalC++》不同,《C++必知必会》中讨论的知识点是非常实际,而且相当重要的,从其名字当中的“必知必会”就可以看出来这本书的定位,之所以没有将其放到推荐的第一梯队,是因为虽然口碑很好,但是毕竟出版时间较晚,还没有经过时间的考验。深入阶段进入这个阶段的人编写C++程序已经不成问题,开发过程中的大部分问题都可以很快地找到关键并加以解决。但是,面对像类似Loki库代码时,会被震撼的说不出话来...,那好,恭喜,这里推荐的书目正好合适你。《ImperfectC++》A:MatthewWilsonT:荣耀 《深入C++对象模型》A:StanleyB.LippmanT:侯捷
追问
你在逗我吗,我要的是这个题目怎么解,给我个思路啥的,,,
追答
帮你学习
展开全部
// 最笨的是将base连乘exponent次即可
// 这个是一个优化算法
// 比如 2^13 = 2^(8 + 4 + 1) = 2^8 * 2^4 * 2^1
long intPower(int base, int exponent)
{
if(base == 0) return 0;
if(exponent == 0) return 1;
if(exponent < 0) return 0;
long r = 1, carry = base;
if(r < 0) carry = - carry;
int mask1 = 1, mask2 = -1;
while(exponent & mask2)
{
if(exponent & mask1) r *= carry;
carry *= carry;
mask1 <<= 1;
mask2 <<= 1;
}
if(exponent & 1 && base < 0) return - r;
return r;
}
追问
谢了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询