C语言 >> 右移位运算符的原理和一些概念
1、右移位于左移位不同
左移位 不管是 逻辑移位 算术移位 都是低位补0;
右移位 的 逻辑移位和算术移位不同, 算术移位高位补符号位,逻辑移位 高位补0;
右移位 使用逻辑移位的话 需要强制转换成unsigned 无符号型;
2、右移位的计算方法
以 a=113 , a >>2 为例
113: 0111 0001
>>2: 0001 1100
即 28; a>>2 = 28;
以 b=-113 , b>>2 为例
-113 : 1111 0001
反码: 1000 1110
补码: 1000 1111
>>2 : 1110 0011 (高位补符号位1)
再反码:1001 1100
再补码:1001 1101
即 b>>2 = -29;
正数的 补码是其本身,所以不用反复求补码; 负数则不同。
另; 移位的位数 不能为负值 , a>>-2 或者a<<-2 是错误的。
C语言 >> 右移位运算符的原理和一些概念相关推荐
- C语言 位运算符详解 (使用二进制实例深入学习理解位运算符使用原理)
C语言中位运算符共有六种 目录 1.&(按位与) 2. |(按位或) 3.^(按位抑或) 4.~(按位取反)
- 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)
1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...
- C语言中位运算符有哪些
C语言中位运算符有: 位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运 ...
- 按字节提取整形数值(按位与运算符“”、右移位运算符“”)
输入一个十进制整数,将其转换成十六进制数输出,并提取每一字节所表示的十六进制数值逐一输出.测试数据如下: 分析:从控制台输入一个十进制整数,将其转换成十六进制数输出,接着提取其4个字节.用到按位与运算 ...
- Java移位运算符详解实例——左移位运算符、带符号的右移位运算符
移位运算符也针对二进制的"位",它主要包括:左移位运算符(<<).右移位运算符(>>>).带符号的右移位运算符(>>). 1.左移运算符 ...
- c语言位运算符读音,C语言六种位运算符
位运算符C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 1. 按位与运算 按位与运算符"&&quo ...
- c语言使用位运算符包含头文件,C语言的运算符
c语言中可以使用加减乘除(+,-,*,/)以及取余(%)这些操作符 注意点: a.0不能做除数,不能对0进行取余,0.0可以做除数,结果是无穷大. b.取余操作的两边必须是整数: c.两个整数相除,结 ...
- 【老九学堂】【初识C语言】位运算符
位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型 ...
- c语言 右移位什么情况补1,关于移位操作,该如何处理
关于移位操作 请教一下各位关于移位操作的问题.我现在被搞得有点晕了 1.C/C++和JAVA中的移位操作规则是不是不一样? 2.关于算术移位和逻辑移位. 左移时候比较好理解,都是末尾补0.但是右移的时 ...
最新文章
- All-in-One 模式安装 KubeSphere 异常问题记录
- 【产品干货】幼年产品狗如何养成?这是完全自我修炼教程!
- 自定义数组操作工具类代码示例
- 排序算法【稳定性+空间复杂度+时间复杂度(平均、最好、最坏)】
- 请MM吃饭之工厂模式实现
- mybatis多排序问题
- Qt TextEdit 使用 (积累中....)
- Linux最大能创建多少用户,如何在Linux中创建多个用户帐户?
- The method setCharacterEncoding(String) is undefined for the type HttpServletResponse 是什么原因?...
- 香港科技大学计算机专业国内就业6,香港科技大学就业好吗?
- dotween路径移动_Unity---DOTween插件学习(3)---获取数据、协程、路径动画
- 云服务器学习linux_云服务器怎么选linux系统
- 尼尔机械纪元 机器人博士_还记得章鱼博士吊打蜘蛛侠的炫酷机械臂吗?现实版已经研发出来了...
- Linux 线程调度与优先级
- 从普通物理到弦论教材推荐
- 德国-帕德博恩大学轴承数据集解读
- The Movie db (TMDB)的API申请
- IT职业技能图谱:IT工程师学习路线
- python在煤矿的用途-息烽高校邦数据科学通识课【Python爬虫】答案
- mariadb无法远程访问的解决思路
热门文章
- 狸猫换太子:动态替换WinCE的原生驱动!
- 正则查找倒数第二个符合条件的字符串_EXCEL正则表达式的基础语法
- 加密安装Kli Linux
- parted工具详解
- mysql数据库char类型长度_mysql数据库设计字符类型及长度
- oracle连接满报错日志,Oracle归档日志满了导致Oracle连接(ORA-00257)报错处理
- 复旦大学计算机保研经历,#易保研#经验分享 | 个人经历分享,圆梦复旦大学!...
- 面试提问vue中v-if与v-show的区别以及使用场景
- mysql组件化_MySql笔记
- abaqus单位_ANSYS和ABAQUS哪个好,一个例子告诉你