c语言位运算符巧妙用法大全,C语言的各种位运算符的操作简述

运算符:

算术运算符: + , - , * , / , % , ++ , --

符合运算符: += , *= , /= , %=

条件运算符:  ?

:

关系运算符: == , >= , <= , != , > , <

逻辑运算符: && , || , !

赋值运算符: =

其它运算符: * , & , -> , .

位运算符:

1 >按位与&同一时候为一则为一否则为零3 & 5结果为1(先将两个数化为二进制在进行计算)

3 > 0000 0011

5 > 0000 0101 二进制 然后依照 同一时候为一则为一 否则为零 变为了 0000 0001

换算之后就变成了1;

一般用于清零操作.

2 >按位或 | 同为0则为0 否则为1    9 | 5        9 >  00001001

|

5 >  00000101

=00001101    13

3 >按位异或不同为1,同样为0;

9 ^ 5              0000 1001

0000 0101

0000 1100    =>  8 + 4  = 12;

4 >按位取反  ~  1变零    零变1

对于单个数来说  ~9

5 >左移   <<

高位舍弃,低位补零

高位           低位

9 > 0000 0000 0000 1001

9 << 3      0000 0000 0100 1000    64 + 8 = 72 相当于  9 * 2的 3次方

m << n 相当于 m * 2的n次方.

6 > 右移 >>

低位舍弃 ,高位补零(正数)或 1(负数)

有符号位

符号位跟着移动.

10

原码 : 原码就是本身的二进制  0000 1010

补码: (全部的数,存放在内存里的都是以补码的形式存放的.)

1 >正数:正数的补码和原码同样

2 >负数:负数的补码,符号位不变,数值部分,取反再加1;

比如: -10的代码

10000000 00000000 00000000 00001010

11111111 11111111 11111111 11110101

+1

11111111 11111111 11111111 11110110

依照16进制存放                   (4 + 2)

FF       FF        FF      F    6 (F6)

有的电脑会反着存放

F6       FF        FF      FF

反码 :

1 >正数的反码和原码同样.

2 >负数的反码,符号位不变,数值部分取反

C语言程序编辑运行的过程:

1 > 程序猿的编码区;(coding , 撸码);

2 > 预处理(预编译)

3 > 编译成汇编代码

4 >将汇编代码形成目标文件

5 >目标文件和附加的库文件链接,形成可运行的文件.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值