当前位置: 首页 > news >正文

C语言左移与右移学习

在学习左移与右移之前,我们首先要学习两种移位运算:逻辑移位算数移位

逻辑位移:移出去的位丢弃,空缺位用0补充。

算数位移:移出去的位丢弃,空缺位用符号位补充。

左移

左移是高位溢出,低位补零。

例子:

5<<1

0000 0101

变为 0000 1010

右移

右移分为逻辑右移算数右移

逻辑右移:高位补0,低位溢出。

0101 1010 >> 3

0000 1011

算数右移:高位补符号位,低位溢出(有符号数)。

1010 1101 >> 3

1111 0101

0111 1101 >> 3

0000 1111

在进行左移和右移操作时,要注意右移有逻辑右移和算数右移两种,选择正确的右移方式。

相关文章:

  • 由浅入深学习统计学 - 常用统计图形学习
  • Stream流的groupingBy
  • 100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?
  • 如何有效的保护Windows登录 安当加密
  • Googletest(Gtest)使用case指南
  • Leetcode153. Find Minimum in Rotated Sorted Array
  • C语言进阶
  • Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结
  • 链表的实现(文末附完整代码)
  • shell之route命令介绍
  • Apipost-Helper:IDEA中的类postman工具
  • 数据结构—内部排序(上)
  • 为 Ubuntu 虚拟机构建 SSH 服务器
  • 【蓝桥杯选拔赛真题66】Scratch画图机器人 少儿编程scratch图形化编程 蓝桥杯创意编程选拔赛真题解析
  • 74hc595模块参考
  • 【EOS】Cleos基础
  • co.js - 让异步代码同步化
  • Consul Config 使用Git做版本控制的实现
  • Cumulo 的 ClojureScript 模块已经成型
  • ESLint简单操作
  • HTML-表单
  • Javascript基础之Array数组API
  • KMP算法及优化
  • Linux链接文件
  • Netty 4.1 源代码学习:线程模型
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python3爬取英雄联盟英雄皮肤大图
  • Rancher-k8s加速安装文档
  • 搭建gitbook 和 访问权限认证
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 微信开源mars源码分析1—上层samples分析
  • 小程序测试方案初探
  • MyCAT水平分库
  • ​2020 年大前端技术趋势解读
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #微信小程序:微信小程序常见的配置传旨
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (3)(3.5) 遥测无线电区域条例
  • (Java数据结构)ArrayList
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (算法)N皇后问题
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)UDP基本编程步骤
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • /etc/sudoers (root权限管理)
  • /proc/stat文件详解(翻译)
  • @Autowired @Resource @Qualifier的区别
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @staticmethod和@classmethod的作用与区别