什么是位运算符?(bitwise operators?)

在计算机程序中,位运算符是用于操纵表达式中位模式的运算符。按位AND、OR、异或(XOR)、NOT、右移位和左移位是常见的操作。大多数计算机编程语言都包含这六个操作符。它们通常用于设置、清除或翻转控制计算机硬件的程序中的单个位。位运算符也经常用于数据加密和压缩算法。...

在计算机程序中,位运算符是用于操纵表达式中位模式的运算符。按位AND、OR、异或(XOR)、NOT、右移位和左移位是常见的操作。大多数计算机编程语言都包含这六个操作符。它们通常用于设置、清除或翻转控制计算机硬件的程序中的单个位。位运算符也经常用于数据加密和压缩算法。

The common bitwise operators are usually represented symbolically in programming languages such as C++.

常用的位运算符通常用C语言、C++语言和java语言来表示。它们在表达式中的使用就像加号或减号等算术运算符一样。按位运算符AND用符号AND&表示;,或使用管道|和带插入符号的异或^。NOT,也称为补码运算符,用波浪号表示。

右移运算符使用指向右侧的双插入符号&gt>。相反,左移由一个指向左侧的双插入符号表示。Java还包括另一个右移操作,如右移三个插入符号所示&gt&燃气轮机>。

按位运算符对其操作数中的每对位应用逻辑运算。否,右移位和左移位只有一个真操作数;移位操作中的第二个值是位计数。为了更好地理解按位运算符的工作原理,个人可以将其操作数可视化为二进制数字。例如,补码运算符将其单个操作数的每一位翻转到相反的状态。一变成零,零变成一。8位二进制值00110101的补码为11001010。

AND运算符有两个操作数。逐位,使用每个操作数的一个对应位执行逻辑“与”运算。每个位操作的结果都放在整个结果的该位位置。例如,AND运算符将处理一个操作数的第7位与另一个操作数的第7位。结果将存储在总体结果的第7位。

在AND运算中,两个操作数位都必须为1才能使结果为1,否则结果为0。例如,如果操作数的8位二进制值为00110101和11110000,则结果将为00110000。AND运算符的一个常见用法是将结果中的特定位归零。这是通过在其中一个操作数的这些位位置放置零来实现的。

在OR运算中,为了使结果为零,两个操作数位都必须为零;否则,结果是1。OR运算符的一个常见用法是将结果的某些位设置为1。这是通过在其中一个操作数的这些位位置放置一个来完成的。对于异或运算,如果两个操作数位均为零,则结果为零;否则,如果两个操作数位均为一,则结果为一。

左移位和右移位将操作数中的位向左或向右移动指定数量的位位置。逻辑右移将零移到最左边的位,作为移位的一部分。算术右移将移位前最左边的位(符号位)复制到移位后的相同位置。原始位也随其余位右移。任何一种左移位都会将零移到最右边的位。

当一个操作数右移时,移位前最右边的位将被丢弃。类似地,处理左移位之前的最左边的位。它不会环绕到操作数的另一端。

按位移位操作取决于语言和实现。例如,在C和C++中,& gt;燃气轮机;如果操作数是无符号整数,则执行逻辑移位。如果操作数是有符号整数,则可能会执行算术移位。在Java中,所有操作数都被认为是有符号的,算术移位总是使用&gt&燃气轮机;和而&燃气轮机&燃气轮机;运算符用于逻辑右移,但仍有可能在不仔细打字的情况下意外地执行算术右移。

当操作数具有不同的位长度,或者有些是有符号的,有些是无符号的时,也会出现复杂情况。在复杂表达式的中间,Bitwise运算符和数值常数不能按预期进行评估。必须注意指定表达式中每个数量的大小和有符号/无符号性质。这可以通过对程序代码中的特定变量类型进行仔细的类型转换或临时赋值来实现。

  • 发表于 2021-12-08 16:13
  • 阅读 ( 151 )
  • 分类:互联网

你可能感兴趣的文章

发起人(promoter)和操作人员(operator)的区别

... 启动子与算子的相似性 5. 并列比较-表格形式的启动子与运算符 6. 摘要 什么是发起人(a promoter)? 启动子是位于转录起始位点上游的DNA序列。这种重要的DNA序列在真核生物和原核生物中都有发现,尽管真核启动子可能与原核启动...

  • 发布于 2020-10-19 10:59
  • 阅读 ( 508 )

&(&)和&&(&&)的区别

...与逻辑与) 在编程中,有一些情况需要进行数学计算。运算符是对值或变量执行特定逻辑或数学函数的符号。操作发生的值或变量称为操作数。编程语言中有各种各样的运算符。其中一些是算术运算符、关系运算符、逻辑运算...

  • 发布于 2020-10-19 16:03
  • 阅读 ( 398 )

按位(bitwise)和逻辑运算符(logical operators)的区别

关键区别-位运算符与逻辑运算符 在编程中,有一些情况需要进行数学计算。运算符是编程语言的符号,用于对值或变量执行特定的逻辑或数学函数。编程语言中有各种各样的运算符。其中一些是算术运算符、关系运算符、逻...

  • 发布于 2020-10-19 16:48
  • 阅读 ( 832 )

如何使用bing的高级搜索操作符:8个更好的搜索技巧

...精确的短语: “find this exact phrase” 省略带有NOT或减号运算符的单词。例如,如果您想搜索智能**,但不想搜索任何提及iPhone的结果,则可以使用以下选项之一: **artphones NOT iphone **artphones -iphone 使用OR或|运算符查找包含一个或...

  • 发布于 2021-04-12 14:07
  • 阅读 ( 164 )

加速和增强谷歌搜索的十大方法

...页面上突出显示您的搜索词,而无需您举手。3.使用高级运算符您可能听说过使用AND运算符搜索多个术语,但是更高级的术语呢?例如,可以使用site:运算符搜索特定站点,使用-site:运算符忽略某些站点,甚至可以使用AROUND运算...

  • 发布于 2021-05-25 02:11
  • 阅读 ( 228 )

英国央行(bankofengland)高管称加密货币失败,比特币价格稳定

...,其交易所对加密货币的价格有着巨大的影响(另见:为什么韩国对比特币价格如此重要?) UTC周二14:01,一枚比特币的价格为11559.25美元,比24小时前上涨了3.58%。价格比2月5日的低点上涨了66.5%。2017年12月,比特币穿越11000美元...

  • 发布于 2021-06-18 01:41
  • 阅读 ( 169 )

在过去的12个月里,加密货币的回报率变化很大

...也放大了它们之间收益的差异。根据比特资产管理公司(Bitwise Asset Management)的一份最新研究报告,比特资产管理公司(Bitwise)的HOLD10指数(HOLD10 Index)追踪的表现最好和最差的硬币在12月份的回报率之差上升至784.9%。全年表现...

  • 发布于 2021-06-18 03:33
  • 阅读 ( 149 )

超级计算(supercomputing)和量子计算(quantum computing)的区别

...世纪最具革命性的理论之一——量子力学所证实的。   什么是超级计算(supercomputing)? 超级计算一直是技术前沿的一种特殊计算形式。随着计算领域的发展和成熟,计算变得更加广泛和多样化。超级计算机是任何以高计算I/O比...

  • 发布于 2021-06-26 13:52
  • 阅读 ( 386 )

差分放大器(differential amplifier)和运算放大器(operational amplifier)的区别

...大开环增益、高输入阻抗和低输出阻抗的差分放大器。 什么是差分放大器(a differential amplifier)? A differential amplifier is an electric component which amplifies the difference between two signals applied to two input terminals, while rejecting signals which are commo...

  • 发布于 2021-06-27 08:19
  • 阅读 ( 436 )

前缀(prefix)和后缀(postfix)的区别

前缀和后缀的主要区别在于,前缀是在操作数之前写入运算符的表示法,而后缀是在操作数之后写入运算符的表示法。 记数法是写算术表达式的方法。写算术表达式有各种各样的符号。它们不会更改表达式的输出。这些符号包...

  • 发布于 2021-06-30 21:52
  • 阅读 ( 871 )
hnuh8907405
hnuh8907405

0 篇文章

相关推荐