首页 > 其他分享 >c语言操作符详解

c语言操作符详解

时间:2024-04-21 12:22:38浏览次数:16  
标签:反码 语言 补码 负数 详解 操作符 ------ 原码

1,算数操作符

%两个操作数必须为整数

/

2,移位操作符 (只作用于整数)

整数的二进制表示有原码,反码,补码,存储到内存的是补码 ,用的也是补码进行运算

举例

10000000000000000000000000000001------原码

11111111111111111111111111111110        ------反码

正数的反码是其本身,负数的反码是在其原码的基础上, 符号位不变,其余各个位取反)

11111111111111111111111111111111        ------补码(正数的补码是其本身,负数的补码是其反码加一)

(1)>>——右移操作符,移动的是二进制(有除2的效果)

①算术右移

右边丢弃,左边补原符号位

②逻辑右移

右边丢弃,左边补0

 

(2)<<——左移操作符(有乘二的效果)

左边丢弃,右边补0 

这个还挺有趣的,多运行找到规律,不能移动负数位

(3)按位与&

a=2          //00000000000000000000000000000010

b=4         //00000000000000000000000000000100

 c=a&b=0//00000000000000000000000000000000

(4)按位或|(同上)

a=3       //000000000000000000000011

b=5       //000000000000000000000101

c=a|b=7//000000000000000000000111

(5)按位异或^

对应二进制位相同为0,相异为1

练习一下

不创建变量交换两个整型

①加减法交换(可能会溢出)

②异或法

统计num的补码中有几个1       

①无法求负数                                                                 ②优化

     

3,赋值操作符

省略,见手写笔记

4,单目操作符

!   -     &     sizeof

标签:反码,语言,补码,负数,详解,操作符,------,原码
From: https://www.cnblogs.com/yu7921/p/18148780

相关文章

  • 初识C语言
    一,c语言的基本概述  c语言是一门编译型语言。c语言的程序需要通过编译软件程序将源代码转换成可执行代码的程序,可执行代码是用计算机机器语言表示的代码。如:c语言在Windows下生成的可执行代码是以.exe为后缀的,在Unix下生成的可执行代码是以.out为后缀的。二,c语言的特性  c......
  • 从源码入手详解ReentrantLock,一个比synchronized更强大的可重入锁
    写在开头随手一翻,发现对于Java中并发多线程的学习已经发布了十几篇博客了,多线程是Java基础中的重中之重!因此,可能还需要十几篇博客才能大致的讲完这部分的知识点,初学者对于这部分内容一定要多花心思,不可马虎!今天我们继续来学习一个重要知识点:ReentrantLockReentrantLock:是一种......
  • 82.8K Star 功能强大的语言处理的PYTHON库
    简介LangChain是一个框架,用于开发由大型语言模型(LLMs)提供支持的应用程序。langchain库是功能强大的语言处理工具,可以用于文本处理、语言分析等多种任务。本文将介绍该库的安装、特性、基本功能、高级功能、实际应用场景,并进行总结。特性多语言支持:支持多种语言的处理和分......
  • 2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。 假设节点总数为n,颜色总
    2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。假设节点总数为n,颜色总数为m,每个节点的颜色,依次给出,整棵树以1节点做头,有k次查询,询问某个节点为头的子树,一共有多少种颜色。1<=n,m,k<=10^5。答案2024-04-21:来自左程云。chatgpt大体步骤如下:大体过程描述......
  • Linux共享库、静态库、动态库详解
    1.介绍       使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。 ......
  • C语言单词记忆
    kernel内核define定义parameter参数condition条件execution执行,运行environment环境startup启动program程序****************function函数,作用called被调用main重要的,主要的return返回type类型void空argargument参数****************negative负的......
  • R语言入门与数据分析
    课程介绍R是免费的,R是一个全面的统计研究平台,提供了各式各样的数据分析技术,R拥有顶尖的绘图功能1-9数据分析的内容,学习R的目的10-15R的基本操作16-17R的数据结构和操作,最基础最重要28-33R对文件的操作数据分析数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物......
  • Go语言高并发与微服务实战专题精讲——远程过程调用 RPC——服务端注册实现原理分析
    远程过程调用RPC——服务端注册实现原理分析rpcserver代码参考我前一篇博文:https://www.cnblogs.com/zuoyang/p/18146870RPCServer端的RPC代码架构主要由两大部分构成:第一部分是服务方法的注册过程。在这个过程中,我们首先通过调用rpc.Register接口将服......
  • FFmpeg开发笔记(十五)详解MediaMTX的推拉流
    ​MediaMTX是个开源的轻量级流媒体服务器,它的安装过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”。MediaMTX下载后的压缩包包括可执行程序mediamtx.exe和配置文件mediamtx.yml,看起来非常简约,但它提供的流媒体服务一点也没缩水。双击mediamtx......
  • Verilog语言学习(自用
    HDR:硬件描述语言高级程序语言,通不过对数字电路和系统描述,可以对数字集成电路进行设计和验证主要功能:数字集成电路设计工程师可以根据电路的特点,采用层次化的设计结构,将抽象的逻辑功能用电路的方式进行实现。 VerilogHDL(美):思维开放-->语法形式比较灵活,宽松度高(不适合大规模集......