C语言:根据移位符计算2的n次方
生活随笔
收集整理的這篇文章主要介紹了
C语言:根据移位符计算2的n次方
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在C語言中,計(jì)算次方我們擁有專門的計(jì)算函數(shù),即“pow”;其使用格式如下所示:(注意指數(shù)運(yùn)算需要頭文件<math.h>
pow(x,y);意為x的y次方。值得注意的是,pow的返回值是double類型,故在打印過程中需要注意格式。
eg:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<math.h> int main() {int a = 0;scanf("%d", &a);printf("%lf\n", pow(2, a));system("pause");return 0; }便可得到2^a的值。
? ? ? ? 不過在二進(jìn)制中,關(guān)于2^0的表示是00000001,2^1的表示是00000010,2^2的表示是00000100……
? ? ? ? 我們可以得到在二進(jìn)制中對2進(jìn)行次方運(yùn)算本質(zhì)上就是對1位不斷進(jìn)行左移。即2的0次方作為1位的最左邊起始位,2的1次方是對1位左移1位,2的2次方是對2位左移兩位……
? ? ? ? ? 所以在C語言中,我們可以通過移位符來進(jìn)行對2的次方的運(yùn)算。
代碼展示如下:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<math.h> int main() {int n = 0;scanf("%d", &n);printf("%d\n", 2 << (n - 1));system("pause");return 0; }? ? ? ? 注意左移的為n-1位,這是由于2本身在二進(jìn)制中就位于從右往左的第二位,即2=2^1。
總結(jié)
以上是生活随笔為你收集整理的C语言:根据移位符计算2的n次方的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在latex中引用文献
- 下一篇: js拆字分图程序 _拆分古籍_梦溪笔谈方