日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言-数学运算

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言-数学运算 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

C語(yǔ)言之?dāng)?shù)學(xué)運(yùn)算

C語(yǔ)言基本運(yùn)算符

運(yùn)算符說(shuō)明例子備注
=賦值運(yùn)算符a = b;
+、-、*、/、()基本四則運(yùn)算a = (b + c) * d;
%求余運(yùn)算符a = b % 2;計(jì)算速度最慢且只能針對(duì)整數(shù)
&、|、^、~位運(yùn)算a = ~b | c;計(jì)算速度最快
<<、>>左移和右移a = b >> 2;

類型轉(zhuǎn)換

  • 顯式類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換)
  • 隱式類型轉(zhuǎn)換

位運(yùn)算

  • 二進(jìn)制表示下進(jìn)行的一類運(yùn)算
  • 二進(jìn)制位與對(duì)應(yīng)二進(jìn)制位進(jìn)行的一類運(yùn)算
  • 位運(yùn)算只針對(duì)整型
  • 使用位運(yùn)算需要考慮代碼可讀性

1. 按位與運(yùn)算符 &

  • 單目:取地址
  • 雙目:按位與(全 1 則為 1,有 0 則為 0)
&運(yùn)算結(jié)果
1 & 11
1 & 00
0 & 10
0 & 00

示例:%2 相當(dāng)于 &1(整數(shù)判斷奇偶性只與二進(jìn)制的最后一位有關(guān),若最后一位為 1 則為奇數(shù))

2. 按位或運(yùn)算符 |

按位或:有 1 則為 1 ,全 0 才為 0

|運(yùn)算結(jié)果
1 | 11
1 | 01
0 | 11
0 | 00

3. 按位異或運(yùn)算符 ^

按位異或:相同為 0不同為 1

&運(yùn)算結(jié)果
1 ^ 10
1 ^ 01
0 ^ 11
0 ^ 00

^ 是 ^ 的逆運(yùn)算符,示例如下:

  • a ^ b = c 等價(jià)于 c ^ b = a 等價(jià)于 c ^ a = b
  • n ^ n = 0
  • n ^ 0 = n

示例

int a, b; scanf("%d%d", &a, &b); //實(shí)現(xiàn)交換 a 和 b 的值 // a1 = a ^ b a ^= b; // b1 = a1 ^ b = a ^ b ^ b = a ^ 0 = a b ^= a; // a = a1 ^ b1 = a ^ b ^ a = a ^ a ^ b = 0 ^ b = b a ^= b;

4. 按位取反運(yùn)算符 ~

按位取反:0 轉(zhuǎn)換為 1 , 1 轉(zhuǎn)換為 0

~運(yùn)算結(jié)果
~10
~01

5. 左移 << 和 右移 >>

左移:低位補(bǔ) 0,左移 N 位等價(jià)于 乘 2 的 N 次方,可替換乘法
右移:高位補(bǔ)符號(hào)位,**左移 1 位等價(jià)于 除 2 **,可替換除法

C語(yǔ)言中的數(shù)學(xué)函數(shù)庫(kù)

常用函數(shù)頭文件函數(shù)原型功能說(shuō)明示例
pow(a,n)math.hdouble pow(double a, double b)指數(shù)函數(shù),a 為底數(shù),b 為指數(shù),返回 a 的 b 次方pow(2, 3) = 8
sqrt(n)math.hdouble sqrt(double x)開平方函數(shù),x 為被開方數(shù),返回根號(hào) x 的結(jié)果sqrt(16) = 4
ceil(n)math.hdouble ceil(double x)上取整函數(shù),x 為某個(gè)實(shí)數(shù),返回 x 向上取整的值ceil(4.1) = 5
floor(n)math.hdouble floor(double x)下取整函數(shù),x 為某個(gè)實(shí)數(shù),返回 x 向下取整的值floor(4.9) = 4
abs(n)stdlib.hint abs(int x)整數(shù)絕對(duì)值函數(shù),x 為某個(gè)整數(shù),返回 x 的絕對(duì)值abs(-4) = 4
fabs(n)math.hdouble fabs(double x)實(shí)數(shù)絕對(duì)值函數(shù),x 為某個(gè)實(shí)數(shù),返回 x 的絕對(duì)值fabs(-4.5) = 4.5
log(n)math.hdouble log(double x)以 e 為底對(duì)數(shù)函數(shù),x 為某個(gè)實(shí)數(shù),返回 log 以 e 為底的值log(9) = 2.197225…
log10(n)math.hdouble log10(double x)以 10 為底對(duì)數(shù)函數(shù),x 為某個(gè)實(shí)數(shù),返回 log 以 10 為底的值log10(1000) = 3
acos(n)math.hdouble acos(double x)acos函數(shù),x 為角度的弧度值,但會(huì) arccos(x) 的結(jié)果acos(-1) = 3.1415926…

代碼示例一:

#include<stdio.h> #include<math.h>//計(jì)算 x 的立方根 int main(){double x;while(scanf("%lf", &x)){printf("%lf\n", pow(x, 1.0 / 3));}return 0; }

代碼示例二:

#include<stdio.h> #include<math.h>#define pi acos(-1)//讀入一個(gè)角度值,將角度值轉(zhuǎn)為弧度值 int main(){double x;scanf("%lf", &x);printf("%lf", x * pi / 180); return 0; }

總結(jié)

以上是生活随笔為你收集整理的C语言-数学运算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。