`
scliu0718
  • 浏览: 51637 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Java运算符含义

 
阅读更多
转自网络。留着它,久了不用老忘掉。
运算符 含义 示例  
  ~ 按位非(NOT) b   =   ~a    
  & 按位与(AND) c   =   a   &   b    
  | 按位或(OR) c   =   a   |   b    
  ^ 按位异或(XOR) c   =   a   ^   b    
  >> 右移 b   =   a   >>   2    
  >>> 右移,左边空出的位以0填充 b   =   a   >>>   2    
  << 左移 b   =   a   <<   1  
   
  当然同样有   &=,|=,^=,>>=,>>>=,<<=。  
   
  位运算  
   
    前面介绍的各种运算都是以字节作为最基本位进行的。   但在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能,   这使得C语言也能像汇编语言一样用来编写系统程序。  
  一、位运算符C语言提供了六种位运算符:  
  &   按位与  
  |   按位或  
  ^   按位异或  
  ~   取反  
  <<   左移  
  >>   右移
 1.   按位与运算   按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1   ,否则为0。参与运算的数以补码方式出现。  
  例如:9&5可写算式如下:   00001001   (9的二进制补码)&00000101   (5的二进制补码) 00000001   (1的二进制补码)可见9&5=1。  
   
    按位与运算通常用来对某些位清0或保留某些位。例如把a   的高八位清   0   ,   保留低八位,   可作   a&255   运算   (   255   的二进制数为0000000011111111)。  
  main(){  
  int   a=9,b=5,c;  
  c=a&b;  
  printf("a=%d\nb=%d\nc=%d\n",a,b,c);  
  }  
   
  2.   按位或运算   按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。  
  例如:9|5可写算式如下:   00001001|00000101  
  00001101   (十进制为13)可见9|5=13  
  main(){  
  int   a=9,b=5,c;  
  c=a|b;  
  printf("a=%d\nb=%d\nc=%d\n",a,b,c);  
  }  
   
  3.   按位异或运算   按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如 9^5可写成算式如下:   00001001^00000101   00001100   (十进制为12)  
  main(){  
  int   a=9;  
  a=a^15;  
  printf("a=%d\n",a);  
  }  
   
  4.   求反运算   求反运算符~为单目运算符,具有右结合性。   其功能是对参与运算的数的各二进位按位求反。例如~9的运算为:   ~(0000000000001001)结果为:1111111111110110  
   
  5.   左移运算   左移运算符“<<”是双目运算符。其功能把“<<   ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,  
  高位丢弃,低位补0。例如:   a<<4   指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。6.   右移运算   右移运算符“>>”是双目运算符。其功能是把“>>   ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。    
  例如:设   a=15,a>>2 表示把000001111右移为00000011(十进制3)。   应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,   最高位补0,而为负数时,符号位为1,最高位是补0或是补1   取决于编译系统的规定。Turbo   C和很多系统规定为补1。
分享到:
评论

相关推荐

    Java程序设计基础:自增自减运算符.pptx

    自增/自减运算符 目录 课程导入 掌握自增/自减运算符的计算 能够熟练使用自增/自减运算符 自增/自减运算符 基本规则: 作用:在对一个变量做加 1 或减 1 处理时,可以使用 ++ 或 --。 ++ 或 --是单目运算符,放在操作...

    java逻辑运算符的作用

    逻辑运算符 &&、 ||、 ! 注意:逻辑计算支持短路操作 表达多个条件之间的关系。例如年龄大于等于18并且年龄小于65 &&:与运算,含义是两个条件必须同时成立,可以翻译为并且 ||:或运算,含义是两个条件中成立一个...

    Java程序设计基础:逻辑运算符.pptx

    下表列出了逻辑运算符的用法、含义及实例。假设布尔变量a、b。 运算符 用法 含义 说明 实例 结果 ! !a 逻辑非 a为true时,值为false,a为false时,值为true。 !(2&gt;4) true && a&&b 短路与 a、b全为true时,计算结果...

    疯狂java讲义 第二版(2/17)

    Java语言还提供了一系列功能丰富的运算符这些运算符包括所有的算术运算符以及功能丰富的位运算符、比较运算符、逻辑运算符,这些运算符是Java编程的基础。将运算符和操作数连接在一起就形成了表达式。

    corejava基础重要知识点总结

    糟粕:手动垃圾回收 运算符重载 指针 思想简单:面向对象的思想 = OO思想 面向过程:需要人站在计算机的角度去思考问题 面向对象:需要人拿着代码模拟实现生活 类:一组类型相同事物高度抽象之后的集合概念 ...

    JAVA基础课程讲义

    JAVA各版本的含义 13 JAVA技术体系架构 14 JAVA的特性和优势 14 JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 ...

    《Java程序设计案例教程》教学课件02Java语言基础.pptx

    2.2 变量和常量 2.2.2 关键字 关键字是Java语言中已被赋予特定含义的标识符,只能供Java编译系统使用。Java语言中不允许用户对关键字再赋予其他含义。Java语言中的关键字见表2-1。 表2-1 Java语言中的关键字 另外,...

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    java基础入门教程

    第 一 章 Java概 述 § 1.1 Java语 言 出 现 的 背景 、 影 响 及 应 用 前 景 一 、 背 景 最 近 一 年 多 来 ,在 Internet上 出 现 的 特 别 吸 引 人 的 事 件 就是 Ja va语 言 和 用 Java编 写 的 浏 览 器...

    java基础知识

    2 表达式的含义: 17 3 典型例题: 17 4 跳转语句: 18 二 while do while循环: 19 1 do while循环的语法和流程图: 20 2 while do while的区别: 21 三 循环小结: 22 四 程序调试: 23 五 练习: 24 1 乘法表 ...

    21天学通Java-由浅入深

    第一篇 基础篇 第1章 Java简介(精彩视频:33分钟) 21 1.1 Java的平台简介 21 1.2 安装工具包 22 1.2.1 下载JDK 22 1.2.2 安装JDK 24 1.2.3 查看与设置环境变量 25 1.2.4 JDK常用命令 27 1.2.5 Java各个目录含义 28...

    Java语言的科学与艺术 斯坦福大学经典教材

     第1章 前言 1.1 计算简史 1.2 计算机科学的含义 1.3 计算机硬件简介 1.4 算法 1.5 编程过程的几个阶段 1.6 Java和面向对象范例 1.7 Java和WWW   1.8 小结 1.9 复习题 第2章 编程示例 2.1 “Hello world”程序 ...

    阶段性章节复习:String类的使用 以及与基本数据类型变量间的运算 认识进制 常用运算符回顾之算术运算符、赋值运算符

    这是近期练习过的JavaSE基础源代码,含义注释及说明,适合复习Java基础使用,欢迎有需要的朋友下载交流学习。另外,热门专栏“Python从入门到人工智能”持续更新中,欢迎大家订阅学习和交流。

    《Java程序设计案例教程》教学课件05深入Java面向对象.pptx

    修饰符 class 子类名 extends 父类名 { //类体 } 除了增加"extends 父类名"以外,其余含义和类的定义相似,可参阅4.2节。 《Java程序设计案例教程》教学课件05深入Java面向对象全文共47页,当前为第6页。 5.2 继承 ...

    Java语言实用教程2——Java基本语法

    Java语言包含标识符、关键字、运算符和分隔符等元素。这些元素有着不同的语法含义和组成规则,它们互相配合,共同组成Java的语句。

    《Java程序设计》教学活动设计.doc

    理解 java是完全面向对象程序设计语言的含义,即java语言与c++语言的区别 。 5. 在讲解javaApplet之后,引出包的概念,即是分类保存和组织类的文件夹, 解释包的作用后介绍java_jdk 帮助的使用。 ------------------...

    Java语言的科学与艺术(国外计算机科学经典教材)

     1.2 计算机科学的含义  1.3 计算机硬件简介  1.4 算法  1.5 编程过程的几个阶段  1.6 Java和面向对象范例  1.7 Java和WWW  1.8 小结  1.9 复习题 第2章 编程示例  2.1 “Hello world”程序  2.2 编程过程...

    java编程规范(第三版)

    6.5 确定名称的含义 95 6.6 访问控制 104 6.7 完全限定的名称和规范名称 109 6.8 命名约定 110 第7章 包 116 7.1 包成员 116 7.2 包的主机支持 117 7.3 编译单元 119 7.4 包声明 119 7.5 导入声明 121 7.6...

    【02-数据类型与运算符】

    Xxx的含义与前一个方法中Xxx相同。 基本数据类型  •Java 的基本数据类型可以分为两大类: boolean 类型 和 数值类型.  •而数值类型又可以分为整型和浮点型  –整型包括:byte short int long(广义的...

    JAVA 语言基础学习

    跨平台的实现原理JDK与JREJDK的下载和安装Path和Classpath环境变量开发工具关键字关键字的含义关键字的特点关键字的注意事项标识符组成规则注意事项命名规则注释变量数据类型的转换运算符算术运算符赋值运算符比较...

Global site tag (gtag.js) - Google Analytics