操作符详解

本来说好这期发扫雷的,发现我高估了自己的能力啊。那就先来讲讲操作符。这里我也是选择自己认为比较重要的讲讲。

进制的转化

我们经常听到有2进制,8进制,16进制,10进制,那它们到底是什么呢。

2进制由0,1组成,如0110。(满2进1)

8进制由0-7组成,如0157。(满8进1,数值最前面写0)

16进制由0-9,a-f组成,如0x6b。(满16进1,数值最前面写0x)

10进制其实就是我们生活中所使用的数字。

举个例子:25 二进制:11001,八进制:031,十六进制:0x19。

十进制转2,8,16进制分别将10进制的数除2,8,16将所得到的余数从右向左依次排列。

八进制转二进制:将八进制的每一个数字用三个二进制的数字来表示。

16进制转二进制:将十六进制的每一个数字用四个二进制的数字来表示。

原码反码补码

一个整型占四个字节,一个字节占八个bit,那么一个整型就是32个bit。整数的二进制表示有三种分别是原码,反码,补码。正整数的原码反码补码都是相同的。负整数三种都不相同。这三种表示方法分为符号位和数值位,最高位为符号位,其余的都是数值位。(数值一律用补码来存储,对外展示的是原码)接下来说说他们三个的区别。

原码:数值直接翻译成二进制。

反码:原码符号位不变,其余全部取反。

补码:反码+1。(补码转为原码:取反+1)

直接上例子。

移位操作符

<<左移操作符,>>右移操作符(它们的操作数只能是整数的二进制形式)(不要移动负数位)

<<:左边抛弃,右边补0

>>:右边抛弃,左边补原符号位 (算术右移)。话不多说直接上例子。

此为左移,右移是一样的道理。

位操作符

按位与&,按位或|,按位异或^,按位取反~。(操作数只能是整数的二进制形式)

&:有0为0,无0为1

|:有1为1,无1为0

^:相同为0,不同为1

~:补码0变1,1变0(符号位也包括)还是直接上例子。


 

这里注意补码按位取反后,要转换为原码才能得出打印在屏幕上的数字。

结构成员访问操作符

定义与声明:

第一行struct是一个关键字,tag为名称。

第三行表示成员名称。

第四行为定义的变量名称。(后面的分号一定不能丢)。老规矩上例子。

今天的分享到此为止吧,感谢观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值