C中的位运算

news/2024/11/13 11:06:20/文章来源:https://www.cnblogs.com/tnt-ts/p/18538238

数学基础

C中的位运算

在C语言中,位运算有以下运算符 与(&) 或(|) 异或(^) 取反(~) 左移和右移(<< >>)

  • 与运算(&)
    两位都为1时,结果才为1

    0 & 0 = 0
    1 & 0 = 0
    0 & 1 = 0
    1 & 1 = 1
    
  • 或运算(|)
    两位中只要有一位为1,结果为1

    0 | 0 = 0
    1 | 0 = 1
    0 | 1 = 1
    1 | 1 = 1
    
  • 异或运算(^)
    相应位相同为0,相异为1

    0 ^ 0 = 0
    1 ^ 0 = 1
    0 ^ 1 = 1
    1 ^ 1 = 0
    
  • 取反运算(~)
    对一个参与运算的数据的二进制位进行取反运算

    0 ~ = 1111 1111  \\int(0)的二进制位为 0000 0000
    1 ~ = 1111 1110  \\int(1)的二进制位为 0000 0001
    
  • 左移运算符(<<)
    将一个运算对象的各二进制位全部左移若干位,高位丢弃,低位补0
    例如,设 a = 1010 1110,a = a << 2 将 a 的二进制位左移2位、右补0,即得 a = 1011 1000
    若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2

  • 右移运算符(>>)
    将一个数的各二进制位全部右移若干位,高位补0或补符号位,右边丢弃
    例如,a = a >> 2 将 a 的二进制位右移2位,左补0 或补符号位,具体取决于数的正负
    操作数每右移一位,相当于该数除以2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/830712.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【日记】你们两个熊孩子,不要叫我叔叔啊啊啊啊(1630 字)

正文今天上午起床,窗外地面湿了。瞬间不想出门吃饭了。挣扎了一会儿,还是带着伞出门了。毕竟昨天说了要出门剪头发。花了一个小时吧好像。指定的那个理发店还挺远。理发师都认识我了,笑了笑,问我怎么剪。我还是说只修一下刘海,不要遮住眉毛和眼睛就行,后面和侧边还要继续…

东商项目mysql实例库(dingding)增量备份的实现

一、钉钉库(dingding)实例全量备份 1.机器:cvlink-xxcc-prd1172.16.50.59cvlink-xxcc-prd2172.16.50.60备注:59是主库,60为从库,因为做了主从,所以两个数据库数据是一致的,直接对从库60的实例钉钉进行备份即可。2.对从库60的实例进行备份: 2.1 登录从库:2.2 进行备份…

安娜的档案(Anna’s Archive)官网最新镜像网站入口(实时更新)

安娜的档案(Anna’s Archive)是一个广受欢迎的在线资源平台,汇集了Z-Library、Library Genesis和Sci-Hub等资源,拥有超过2000万册书籍和9000万篇论文。该网站提供多种下载选项,包括快速、慢速、libgen、IPFS和Tor浏览器下载,以满足不同用户的网络和需求。用户可以无需注册…

STM32的内存(堆和栈)

一般来说单片机的内存指的是FLASH和RAM,当在程序中定义了全局变量、局部变量、只读变量等参数时都是会存放到对应的FLASH或者是RAM中。具体对单片机FLASH和RAM的介绍之后再写,这里只对单片机内存分配,对堆和栈以及变量的存储做一个梳理和记录。1、FLASH(0x0800 0000) FLAS…

使用Boost.asio与Boost.beast基于协程连接ws

目录目录 前言 准备工作 实现初始化io_context并监听信号 启动连接ws的线程并启动io_context 建立tcp链接(以下步骤皆位于ws函数中) ws握手 传输数据 效果总结前言 本文主要介绍一个使用Boost.asio和Boost.beast基于协程连接Websocket(ws)的方法。其中C++版本为20,Boost版本…

使用 Let’s Encrypt 免费申请泛域名 SSL 证书,并实现自动续期

使用 Let’s Encrypt 免费申请泛域名 SSL 证书,并实现自动续期 目录使用 Let’s Encrypt 免费申请泛域名 SSL 证书,并实现自动续期🛠️ 环境准备💡 什么是 Let’s Encrypt?🧠 Let’s Encrypt 证书颁发原理1. 域名验证2. 证书生成3. 证书安装4. 自动续期🛠️ Certbot…

Python爬虫学习笔记

目录基础篇:HTTP:HTTP请求:请求行:请求头:请求体:HTTP响应:状态行:响应头:响应体:Requests库:GET请求:POST请求:HTML:HTML网页结构:HTML标签:网页解析:Regular Expression:元字符:量词:正则表达式:Re解析:实战案例:Beautiful Soup:安装:成员属性/函数…

高级语言程序设计第6次作业

高级语言程序设计课程第六次个人作业 这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/2024C/homework/13303 学号:102300303 姓名:梁佳 第1题第2题第3题第4题第5题第6题第7题第8题第9题第10题第11…

【NX/UG】解决:使用重用库的零件,下次打开发现零件丢失问题

NX12.0: 1、找到文件->实用工具->用户默认设置2、基本环境->重用库->可重用组件->更改组件目录[Windows],将目录更改到当前文件工作目录即可-------------------------------------------------------------------------------------------------------------…

腾讯云云服务器数据迁移实战方案

前言 我在三年前购买的腾讯云服务器今年过期咯, 今年的腾讯云双十一活动也是给力优惠攻略极速观看: 刻不容缓腾讯云双十一活动羊毛攻略!!!-腾讯云开发者社区-腾讯云 极速通道购买: 腾讯云11.11上云拼团Go 经过上面的攻略我购买了一个 2h4g 和 4h8g 的云服务器, 我将 Mysql 、Re…

20222418 2024-2025-1 《网络与系统攻防技术》实验四实验报告

1.实验内容 一、恶意代码文件类型标识、脱壳与字符串提取 对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下: (1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具; (2)使用…

Windows 10 配置为 NTP 时间服务器的操作步骤及解析

之前有过将 Windows 10 配置为 NTP 时间服务器的经历,但是没有做文字记录。 这次又需要做一样的配置,对网上的资料和配置细节不太确定,所以设置完后写了本篇记录。 操作步骤设置服务器类型为 NTP;修改注册表键值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32…