IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言-数学运算 -> 正文阅读

[C++知识库]C语言-数学运算

C语言之数学运算

C语言基本运算符

运算符说明例子备注
=赋值运算符a = b;
+、-、*、/、()基本四则运算a = (b + c) * d;
%求余运算符a = b % 2;计算速度最慢且只能针对整数
&、|、^、~位运算a = ~b | c;计算速度最快
<<、>>左移和右移a = b >> 2;

类型转换

  • 显式类型转换(强制类型转换)
  • 隐式类型转换

位运算

  • 二进制表示下进行的一类运算
  • 二进制位与对应二进制位进行的一类运算
  • 位运算只针对整型
  • 使用位运算需要考虑代码可读性

1. 按位与运算符 &

  • 单目:取地址
  • 双目:按位与(全 1 则为 1,有 0 则为 0)
&运算结果
1 & 11
1 & 00
0 & 10
0 & 00

示例:%2 相当于 &1(整数判断奇偶性只与二进制的最后一位有关,若最后一位为 1 则为奇数)

2. 按位或运算符 |

按位或:有 1 则为 1 ,全 0 才为 0

|运算结果
1 | 11
1 | 01
0 | 11
0 | 00

3. 按位异或运算符 ^

按位异或:相同为 0不同为 1

&运算结果
1 ^ 10
1 ^ 01
0 ^ 11
0 ^ 00

^ 是 ^ 的逆运算符,示例如下:

  • a ^ b = c 等价于 c ^ b = a 等价于 c ^ a = b
  • n ^ n = 0
  • n ^ 0 = n

4. 按位取反运算符 ~

按位取反:0 转换为 1 , 1 转换为 0

~运算结果
~10
~01

5. 左移 << 和 右移 >>

左移:低位补 0,左移 N 位等价于 乘 2 的 N 次方,可替换乘法
右移:高位补符号位,**左移 1 位等价于 除 2 **,可替换除法

C语言中的数学函数库

常用函数头文件函数原型功能说明示例
pow(a,n)math.hdouble pow(double a, double b)指数函数,a 为底数,b 为指数,返回 a 的 b 次方pow(2, 3) = 8
sqrt(n)math.hdouble sqrt(double x)开平方函数,x 为被开方数,返回根号 x 的结果sqrt(16) = 4
ceil(n)math.hdouble ceil(double x)上取整函数,x 为某个实数,返回 x 向上取整的值ceil(4.1) = 5
floor(n)math.hdouble floor(double x)下取整函数,x 为某个实数,返回 x 向下取整的值floor(4.9) = 4
abs(n)stdlib.hint abs(int x)整数绝对值函数,x 为某个整数,返回 x 的绝对值abs(-4) = 4
fabs(n)math.hdouble fabs(double x)实数绝对值函数,x 为某个实数,返回 x 的绝对值fabs(-4.5) = 4.5
log(n)math.hdouble log(double x)以 e 为底对数函数,x 为某个实数,返回 log 以 e 为底的值log(9) = 2.197225…
log10(n)math.hdouble log10(double x)以 10 为底对数函数,x 为某个实数,返回 log 以 10 为底的值log10(1000) = 3
acos(n)math.hdouble acos(double x)acos函数,x 为角度的弧度值,但会 arccos(x) 的结果acos(-1) = 3.1415926…

代码示例一:

#include<stdio.h>
#include<math.h>

//计算 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)

//读入一个角度值,将角度值转为弧度值 
int main(){
	double x;
	scanf("%lf", &x);
	printf("%lf", x * pi / 180); 
	return 0;
} 
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:13:22  更:2022-03-10 22:15:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:43:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码