C语言操作符(补充+面试)

简介: C语言操作符(补充+面试)

移位操作符

左移操作符(<<

左移操作符将操作数的所有位向左移动指定的位数。移动过程中,右侧空出的位用0填充。例如,将二进制数1010左移1位,得到的结果是101000。在C语言中,左移操作符通常用于实现乘以2的n次方的操作。

右移操作符(>>

右移操作符将操作数的所有位向右移动指定的位数。移动过程中,左侧空出的位用符号位填充(对于有符号数)或者用0填充(对于无符号数)。例如,将二进制数1010右移1位,得到的结果是001010。在C语言中,右移操作符通常用于实现除以2的n次方的操作。

位操作符

&(按位与):

参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。

|(按位或):

参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。

^(按位异或):

参与运算的两数各对应的二进位相异或。当两对应的二进位相异时,结果为1,否则为0。

~(取反):

对参与运算的数的各二进位进行取反操作。即0变1,1变0。

例如:

1.输入两个整数,求两个整数二进制格式有多少个位不同?

2. 不允许创建临时变量,交换两个整数的内容?

 

目录
相关文章
|
2月前
|
网络协议 编译器 Linux
【C语言】结构体内存对齐:热门面试话题
【C语言】结构体内存对齐:热门面试话题
|
4月前
|
存储 C语言 索引
【C语言篇】操作符详解(下篇)
如果某个操作数的类型在上⾯这个列表中排名靠后,那么⾸先要转换为另外⼀个操作数的类型后执⾏运算。
76 0
|
4月前
|
程序员 编译器 C语言
【C语言篇】操作符详解(上篇)
这是合法表达式,不会报错,但是通常达不到想要的结果, 即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的表达式。
270 0
|
2月前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
43 10
|
2月前
|
存储 编译器 C语言
【C语言】简单介绍进制和操作符
【C语言】简单介绍进制和操作符
163 1
|
2月前
|
存储 编译器 C语言
初识C语言5——操作符详解
初识C语言5——操作符详解
181 0
|
2月前
|
Serverless 编译器 C语言
【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)
【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)
|
4月前
|
存储 编译器 C语言
十一:《初学C语言》— 操作符详解(上)
【8月更文挑战第12天】本篇文章讲解了二进制与非二进制的转换;原码反码和补码;移位操作符及位操作符,并附上多个教学代码及代码练习示例
60 0
十一:《初学C语言》—  操作符详解(上)
|
5月前
|
C语言
五:《初学C语言》— 操作符
本篇文章主要讲解了关系操作符和逻辑操作符并附上了多个代码示例
44 1
五:《初学C语言》—  操作符
|
4月前
|
算法 C语言
【面试题】【C语言】寻找两个正序数组的中位数
【面试题】【C语言】寻找两个正序数组的中位数
32 0