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

C基础语法2

C基础语法2

按位与&

  • 语法特点:和1按位与保持不变,和0按位与清0
  • 应用场景:将指定位置 0
  	int data = 127;//指定第三位第五位清0
  	//data=data&1101 0111;
    data = data & 0xd7;
    printf("%#x\n", data);

按位或|

  • 语法特点:有1为1,全0为0
  • 应用场景:将指定位置 1

按位取反~

按位取反 0变1 1变0

按位异或^

  • 基本语法:相同为0 不同为1
  • 语法特点:和0异或保持不变 和1异或取反
  • 应用场景:将置定位取反

右移左移

不同编译器的右移情况不同

	// 1000 0000 0000 0000 0000 0000 0000 0110
    // 1111 1111 1111 1111 1111 1111  1111 1001
    // 1111 1111 1111 1111 1111 1111  1111 1010
    // 算术右移补1  1111 1111 1111 1111 1111 1111 1111 1111   0xffffffff
    // 逻辑右移补0 0000 0000 0000 0000 1111 1111 1111 1111 0xffff
    int data = -10;
    data = data >> 16;
    if (data == 0xffffffff)
    {
        printf("算术右移%#x\n", data);
    }
    else if (data == 0xffff)
    {
        printf("逻辑右移%#x\n", data);
    }
    

http://www.kler.cn/a/316449.html

相关文章:

  • Vue(四)
  • Markdown语法字体字号讲解
  • 基于JAVA+SpringBoot+Vue的影院订票系统
  • 【CSS in Depth 2 精译_094】16.2:CSS 变换在动效中的应用(下)——导航菜单的文本标签“飞入”特效与交错渲染效果的实现
  • 字节跳动Java开发面试题及参考答案(数据结构算法-手撕面试题)
  • 使用helm安装canal-server和canal-admin
  • 提升动态数据查询效率:应对数据库成为性能瓶颈的优化方案
  • 【C语言零基础入门篇 - 16】:栈和队列
  • 新一代图像生成E2E FT:深度图微调突破
  • iOS界面布局:屏幕尺寸与安全区域全面指南
  • 什么是unix中的fork函数?
  • 【RabbitMQ】快速上手
  • Spring Boot 2.x基础教程:实现文件上传
  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第五集:再制作更多的敌人
  • 【艾思科蓝】前端框架巅峰对决:React、Vue与Angular的全面解析与实战指南
  • 经典sql题(七)查找直播间最大在线人数
  • HDL coder使用手册
  • 【产品思考】低代码理解与国内落地
  • 【python】数据爬虫,抓取并分析豆瓣电影信息
  • 1网络安全的基本概念
  • 【Nginx】Nginx 监控详解
  • git学习【完结】
  • 【安当产品应用案例100集】017-助力软件服务商高效集成多因素认证
  • python -- assert函数
  • stm32单片机个人学习笔记7(TIM定时中断)
  • 虚幻引擎解决构建问题