§ 3.4 位 运 算 符

位 运 算 符 用 来 对 二 进 制 位 进 行 操 作 ,Java中 提 供 了 如 下 表所 示 的 位 运 算符 :

位 运 算 符 中 ,除   ~   以 外 ,其 余 均 为 二 元 运 算 符 。

操 作 数 只 能 为 整 型 和 字 符 型 数 据 。

3.4.1 补 码

Java使 用 补 码 来 表 示 二 进 制 数 ,在 补 码 表 示 中 ,最 高 位 为 符号 位 ,正 数 的 符 号 位 为 0,负 数 为 1。 补 码 的 规 定 如 下 :

对 正 数 来 说 ,最 高 位 为 0,其 余 各 位 代 表 数 值 本 身 (以 二 进制 表 示 ),如 +42的补 码 为 00101010。

对 负 数 而 言 ,把 该 数 绝 对 值 的 补 码 按 位 取 反 ,然 后 对 整 个数 加 1,即 得 该 数的 补 码 。 如 -42的 补 码 为 11010110 (00101010 按 位 取 反 11010101 +1=11010110 )

用 补 码 来 表 示 数 ,0的 补 码 是 唯 一 的 ,都 为 00000000。 (而 在 原码 ,反 码 表 示中 ,+0和 -0的 表 示 是 不 唯 一 的 ,可 参 见 相 应 的 书 籍 )。 而 且 可 以用 111111表 示 -1的 补 码 (这 也 是 补 码 与 原 码 和 反 码 的 区 别 )。

3.4.2 按 位 取 反 运 算 符 ~

~   是 一 元 运 算 法 ,对 数 据 的 每 个 二 进 制 位 取 反 ,即 把 1变为 0,把 0变 为 1。

例 如 :

0010101

1101010

注 意 ,~ 运 算 符 与 – 运 算 符 不 同 ,~ 21≠ -21。

3.4.3 按 位 与 运 算 符 &

参 与 运 算 的 两 个 值 ,如 果 两 个 相 应 位 都 为 1,则 该 位 的 结 果为 1,否 则 为 0。即 :

0 & 0 = 0,0 &1 = 0,1 & 0 = 0,1 & 1 = 1

随机文章

三星明年将其手机系统Bada开源
三星明年将其手机系统Bada开源

强大的百度开放平台
强大的百度开放平台

自2010起百度在移动方面上涨1000%
自2010起百度在移动方面上涨1000%

一行代码,轻松将浏览器变成临时编辑器
一行代码,轻松将浏览器变成临时编辑器

要多垃圾就有多垃圾的新网
要多垃圾就有多垃圾的新网

注销腾讯企业邮箱之后
注销腾讯企业邮箱之后

相关文章

Firefox os和Tizen os将会怎样
Firefox os和Tizen os将会怎样

如何越狱你的IOS 7设备
如何越狱你的IOS 7设备

AngularJs的provider里面的装饰器decorator
AngularJs的provider里面的装饰器decorator

android读取、写入文件
android读取、写入文件

twitter终于推出win8版
twitter终于推出win8版

百度“道招”这个关键字现在终于第一页
百度“道招”这个关键字现在终于第一页

内容分享:道招
本文链接:java入门之3.4位运算符
道招声明:除特别标注或作者不详外,本站所有文章均为原创,转载请注明。欢迎共同关注互联网!