目录

C语言之详解操作符

C语言之详解操作符

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


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

大纲

https://i-blog.csdnimg.cn/direct/bbe622da2959446482783a827a094a88.png


一、操作符的分类

https://i-blog.csdnimg.cn/direct/eca698e98e37426da78dfa6b4f722399.png

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

二、二进制和进制转换

     想必,大家都很好奇进制是什么吧?进制是指按照‘逢特定数进位’的规则,表示数值的计数方式;其实理解起来很简单 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取余法

https://i-blog.csdnimg.cn/direct/69bfe469a1574475ba4b2e83988f8f22.png

2.2 二进制转为十进制

https://i-blog.csdnimg.cn/direct/c04ba056608249998c7a27e9735d7f01.png

https://i-blog.csdnimg.cn/direct/acbfc4285d5140dcaeb025248769d6d2.png

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

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

2.3.1 二进制转八进制

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

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

https://i-blog.csdnimg.cn/direct/a15e6ef60e15480eb941aa282128fb27.png

https://i-blog.csdnimg.cn/direct/1a0eb4e1299b47afab6f01cfab1507cf.png

2.3.2二进制转十六进制

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

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

https://i-blog.csdnimg.cn/direct/a3e3c84459c6440db42f73f3bbc24353.png

https://i-blog.csdnimg.cn/direct/349111d95b1248d2b0acc2083b7a9a3c.png

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

三、原码、反码、补码

整数的2进制表⽰⽅法有三种,即原码、反码和补码

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

符号位都是⽤0表⽰“正”,⽤1表⽰“负”。

正整数的原、反、补码都相同。

负整数的三种表⽰⽅法各不相同。

原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。

反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。

补码:反码+1就得到补码。

反码得到原码也是可以使⽤:取反,+1的操作。

四、移位操作符

4.1左移操作符

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

«左移操作符

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

https://i-blog.csdnimg.cn/direct/d4bc0a7d5ff34a3583d261949a79c974.png

4.2右移操作符

右移操作符

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

https://i-blog.csdnimg.cn/direct/9b00dcb47fd94576ace59ea77dead3c6.png

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

https://i-blog.csdnimg.cn/direct/c8805fc086d14f2bb496ae923c4500a9.pnghttps://i-blog.csdnimg.cn/direct/9bdeca21538e4a328709bb62775e29b3.pnghttps://i-blog.csdnimg.cn/direct/e37a39bfe78b4d1783127f39c0e97765.png

六、单目操作符

!、++、–、&、*、+、-、~ 、sizeof、(类型)

单⽬操作符的特点是只有⼀个操作数,在单⽬操作符中只有&和*没有介绍,这2个操作符,我们放在学习指针的时候再介绍。

七、逗号表达式

逗号表达式,就是⽤逗号隔开的多个表达式。

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

https://i-blog.csdnimg.cn/direct/78b659393d264125ae9ca20e04d6c3f2.png

八、下标引用

下标引用操作符[ ]

操作数:⼀个数组名 + ⼀个索引值

int arr[10];*//*创建数组

arr[9] = 10;*//*实⽤下标引⽤操作符。

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

九、函数调用

函数调用操作符( )

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

https://i-blog.csdnimg.cn/direct/1ab9663a8f4e4b32a2529f868e087088.png

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


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

https://i-blog.csdnimg.cn/direct/73246de283d14445a1019bbc1b952232.png