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 >目标文件和附加的库文件链接,形成可运行的文件.
C语言的各种位运算符的操作简述的更多相关文章
- C语言提供的位运算符
运算符 含义 描述 & 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1 ^ 按位异或 若参加运算的两个 ...
- 关于C语言中的位运算符的学习即应用
一.运算符的种类和运算规则: & 与:全1则1,有0则0 | 或:有1则1,全0则0 ^ 异或:相同为0,不同为1 ~ 取反:~是一元运算符,用来对一 ...
- c语言的按位运算符
& 按位与 | 按位或 ^ 按位异或 1. 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果 ...
- c 语言的位运算符复习
转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...
- 【转】C语言位运算符:与、或、异或、取反、左移与右移详细介绍
转载自:http://www.jb51.net/article/40559.htm,感谢原作者. 以下是对C语言中的位运算符:与.或.异或.取反.左移与右移进行了详细的分析介绍,需要的朋友可以过来参考 ...
- C语言位运算符:与、或、异或、取反、左移和右移
语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...
- C语言位运算符:与、或、异或、取反、左移与右移详细介绍
位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...
- [java基础] 002 - 位运算符的详解和妙用
一:位运算符详解 位运算符主要用来对操作数二进制的位进行运算.按位运算表示按每个二进制位(bit)进行计算,其操作数和运算结果都是整型值. Java 语言中的位运算符分为位逻辑运算符和位移运算符两类, ...
- PHP中为位运算符(几乎很少用)
PHP语言里的位运算符&.|.^ .~.〈〈 .〉〉 "&" 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的 ...
随机推荐
- rc-local.service服务启动失败,导致rc.local中的开机启动服务不能启动
chmod +x /etc/rc.d/rc.local 打开/etc/rc.local文件,将启动非后台执行的指令的最后添加 &,以使相关指令后台运行,然后启动服务 systemctl ...
- python 以及 pywin32添加注册表
python 添加注册表信息: import sys from winreg import * # tweak as necessary version = sys.version[:3] insta ...
- 算法导论 第十二章 二叉搜索树(python)
上图: 这是二叉搜索树(也有说是查找树的)基本结构:如果y是x的左子树中的一个结点,那么y.key <= x.key(如a图中的6根结点大于它左子树的每一个结点 6 >= {2,5,5}) ...
- Vmware改成bridge方式联网
1.在使用桥接之前,先在真机的'更改适配器设置中'禁用vmnet1和vmnet8 2.在VMware中定义一个桥接器 3.设置这个Linux虚拟机使用前一个步骤定义的桥接器--进入桥接器选择界面 4. ...
- Fiddler抓包-会话框添加查看get与post请求类型选项
from:https://www.cnblogs.com/yoyoketang/p/7061990.html 在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Insp ...
- BZOJ 1412: [ZJOI2009]狼和羊的故事【网络流】
Description “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! O ...
- jQuery操作元素的class属性
今天在做一个菜单折叠插件的时候需要根据页面的url改变其class属性.jQuery操作元素的属性是非常方便的,在此记录一下: 1.给元素添加class属性: addClass(class) (1)添 ...
- PatentTips - Reducing Write Amplification in a Flash Memory
BACKGROUND OF THE INVENTION Conventional NAND Flash memories move data in the background to write ov ...
- php除法的知识点
php除法的知识点 $a = 7; $b = 3; $c = $a/$b; var_dump($c);//float(2.3333333333333) //整数部分+小数点+小数部分=15位 $b = ...
- Codeforces 659D Bicycle Race【计算几何】
题目链接: http://codeforces.com/contest/659/problem/D 题意: 若干条直线围城的湖,给定直线的端点,判断多少个转点会有危险?(危险是指直走的的话会掉进水里) ...