导图社区 C语言操作符详解
这是一篇关于操作符详解的思维导图,详细介绍了打印小数、移位操作符、位操作符、单目操作符等操作符的用法,以及原码、反码和补码的相互转换,还有无符号数(unsigned)和有符号数(signed)的区别。
数组名arr本质指向数组首行的指针,结合了文字说明与代码示例,总结了二维数组的数组名本质、数组和指针的异同、指针运算以及数组名的意义等内容。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
操作符详解
+ - * / %
打印小数
打印n位小数就在lf或者f之前加上.n
n<=6
printf(".2lf");
打印两位小数
移位操作符
移动的是整数二进制位
三种整数的二进制位
原码
12——1100
补码
内存中存储的是补码的二进制
所以在内存中参与移位的时候,移位的都是补码
反码
int a=1;
把a向移动两位←
int b= a<<2;
左移操作符,丢弃最左边的数字
最后面补一个0
右移操作符
算数右移
逻辑右移
原码,反码和补码的相互转换
原码符号位不变,其他位按位取反变作反码
反码加一变作补码
补码减一为反码
反码取反为原码
补码加一再取反直接为原码
位操作符
&,|, ^
他们的操作数必须是整数
单目操作符
!,-,+,--,++
&
取地址
sizeof
操作数的类型长度(单位是字节)
sizeof(a=1+2);sizeof内部的表达式是不计算的
~
对一个数的二进制按位取反
*
间接访问操作符(解引用操作符)
(类型)
强制类型转换
unsigned和signed的区别在于符号位
unsigned
unsigned int a=10;
00~1010
首位不是符号位,最高一位也是他的符号位