C语言之详解操作符

哈喽各位老铁,本期给大家分享操作符的有关内容。其实在之前的学习我们已经了解了一部分操作符了。好了废话不多说了,让我们一起学习一下操作符的使用。


首先,了解一下本期内容的大纲:

大纲

我们发现有一部分在之前的学习都潜移默化的了解过,所以本期我们重点学习从未接触过的操作符;


一、操作符的分类


以上就是操作符的分类,在前面的分享中已经学习过了过算术操作符、赋值操作符、逻辑操作符、条件操作符和部分的单⽬操作 符,今天继续介绍⼀部分,操作符中有⼀些操作符和⼆进制有关系,我们先铺垫⼀下⼆进制的和进制转换的知识。

二、二进制和进制转换

想必,大家都很好奇进制是什么吧?进制是指按照'逢特定数进位'的规则,表示数值的计数方式;其实理解起来很简单 eg:比如一周有7天,把天作为基本计数单位,数到第7天就会"进位"到"周";

在生活中我们常常能听到2进制,8进制,10进制,16进制...那么它们具体指的是什么呢?

生活中最常见的就是10进制,我们就以10进制为例,深刻的了解一下进制;

10进制,顾名思义就是逢10进1,它的每一位数字是由0~9组成的;eg:12

那么,2进制也就不难理解了;它就是逢2进1,它的每一位数字是由0~1组成的;eg:1101

2.1 十进制转为二进制

eg:请将10进制数288转换为2进制数

我们使用除2取余法

2.2 二进制转为十进制

使用按权展开相加法,我们就能够完成2进制向10进制的转换;

2.3 二进制转八进制和十六进制

2.3.1 二进制转八进制

规则:从二进制数的右往左****每3位分为一组,不足3位的在左边补零。再将每组对应成一位八进制数(0~7)。

那么具体如何转换呢?请大家参考下图:

2.3.2二进制转十六进制

规则:从二进制数的右往左每4位分为一组。不足4位的在左边补零,再将每组对应成一位16进制数(0~9,A~F)。

那么具体该如何转换呢?请参考下图:

好了,到这就跟大家分享了一下进制转换的内容,想必大家都收获满满吧!

三、原码、反码、补码

整数的2进制表⽰⽅法有三种,即原码、反码和补码
有符号整数的三种表⽰⽅法均有:符号位和数值位两部分,2进制序列中,最⾼位的1位是被当做符号位,剩余的都是数值位。

符号位都是⽤0表⽰"正",⽤1表⽰"负"。
正整数的原、反、补码都相同。
负整数的三种表⽰⽅法各不相同。
原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。
反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。
补码:反码+1就得到补码。
反码得到原码也是可以使⽤:取反,+1的操作。

四、移位操作符

4.1左移操作符

(移位操作符的操作数只能是整数)

<<左移操作符

移位规则:左边抛弃,右边补0

4.2右移操作符

>>右移操作符

移位规则:左边填0,右边抛弃

五、位操作符:&、|、^、~

六、单目操作符

!、++、--、&、*、+、-、~ 、sizeof、(类型)
单⽬操作符的特点是只有⼀个操作数,在单⽬操作符中只有&和*没有介绍,这2个操作符,我们放在学习指针的时候再介绍。

七、逗号表达式

逗号表达式,就是⽤逗号隔开的多个表达式。
逗号表达式,从左向右依次执⾏。整个表达式的结果是最后⼀个表达式的结果。

八、下标引用

下标引用操作符[ ]
操作数:⼀个数组名 + ⼀个索引值

int arr[10];//*创建数组
arr[9] = 10;
//*实⽤下标引⽤操作符。

\]的两个操作数是arr和9。

九、函数调用

函数调用操作符( )
接受⼀个或者多个操作数:第⼀个操作数是函数名,剩余的操作数就是传递给函数的参数。

小结:本节的学习我们了解了整数在计算机是如何存储的;掌握了进制转化,以及各个操作符的使用方法;想必各位老铁都收获满满吧!


以上就是本期要分享的所有内容了,我们下期不见不散;如果你觉得本文对你有帮助,请三连支持一下,你的支持是我持续创作最大的动力!

相关推荐
Want59510 小时前
C/C++大雪纷飞①
c语言·开发语言·c++
一念&13 小时前
每日一个C语言知识:C 共用体
c语言
草莓工作室15 小时前
数据结构9:队列
c语言·数据结构·队列
小龙报16 小时前
《算法每日一题(1)--- 第31场蓝桥算法挑战赛》
c语言·开发语言·c++·git·算法·学习方法
violet-lz16 小时前
数据结构八大排序:归并排序-原理+C语言实现+优化+面试题
c语言·数据结构·排序算法
czy878747517 小时前
用C语言实现原型模式
c语言·原型模式
czy878747518 小时前
用C语言实现原型模式时,如何确定需要深拷贝还是浅拷贝?
c语言·原型模式
会飞的小新19 小时前
C 标准库之 <errno.h> 详解与深度解析
c语言·开发语言
胖咕噜的稞达鸭20 小时前
AVL树手撕,超详细图文详解
c语言·开发语言·数据结构·c++·算法·visual studio
-SGlow-20 小时前
Linux相关概念和易错知识点(48)(epoll的底层原理、epoll的工作模式、反应堆模式)
linux·服务器·c语言·网络·c++