相关介绍
数学中的“幂”,是“幂”这个字面意思的引申,“幂”原指盖东西布巾,数学中“幂”是乘方的结果,而乘方的表示是通过在一个数字上加上标的形式来实现的,故这就像在一个数上“盖上了一头巾”,在现实中盖头巾又有升级的意思,所以把乘方叫做幂正好契合了数学中指数级数快速增长含义,形式上也很契合,所以叫做幂。幂不符合结合律和交换律。
因为十的次方很易计算,只需在后加零即可,所以科学记数法藉助此简化记录数的方式;二的次方在计算机科学中很有用。
定义
幂指乘方运算的结果。
指个相乘()。把看作乘方的结果,叫做的次幂。其中,n称为底数,m称为指数(写成上标)。当不能用上标时,例如在程式语言或电子邮件中,通常写成n^m或n**m,亦可以用高德纳箭号表示法,写成
,读作“n的m次方”或者n的m次幂。当指数为1时,通常不写出来,因为那和底的数值一样;指数为2、3时,可以读作“n的平方”、“n的立方”。
的意义亦可视为︰起始值1(乘法的单位元)乘底指数这么多次。这样定义了后,很易想到如何一般化指数0和负数的情况︰除了0之外所有数的零次方都是1,即;幂的指数是负数时,等于。分数为指数的幂定义为
。幂不符合结合律和交换律。
定理
同底数幂:
;积的幂:
;大小比较法
计算比较法
先通过幂的计算,然后根据结果的大小,来进行比较的。
底数比较法
在指数相同的情况下,通过比较底数的大小,来确定两个幂的大小。
指数比较法
在底数相同的情况下,通过比较指数的大小,来确定两个幂的大小。
求差比较法
将两个幂相减,根据其差与0的比较情况,来确定两个幂的大小。
求商比较法
将两个幂相除,然后通过商与1的大小关係,比较两个幂的大小。
乘方比较法
将两个幂乘方后化为同指数幂,通过进行比较结果,来确定两个幂的大小。
定值比较法
通过选一个与两个幂中一个幂相接近的幂作定值,然后用两个幂与所选取的定值相比较,由此来确定两个幂的大小。
编程实现
常规算法
/*循环法输入:底数(unsigned a)、指数(undigned b)输出:结果(unsigned)*/unsigned mi(unsigned a , unsigned b){ unsigned result = 1 ; for (i = 1 ; i <= b ; i++) result *= a; return result;}/*叠代法输入:底数(unsigned a)、指数(unsigned b)输出:结果(unsigned)*/unsigned mi(unsigned a , unsigned b){ if (!b) return 1; return a * mi(a , b - 1);}快速算法
因为,所以可以使用叠代快速计算。/*快速计算的叠代法输入:底数(unsigned a)、指数(unsigned b)输出:结果(unsigned)unsigned mi(unsigned a , unsigned b){ if (!b) return 1; if (b & 1) return a * mi(a * a , b >> 1); return mi(a * a , b >> 1);*/

















