gpt4 book ai didi

java - 需要帮助理解这一行

转载 作者:行者123 更新时间:2023-12-02 18:05:38 25 4
gpt4 key购买 nike

提前感谢您提出这个基本问题。

我正在学习教程,我看到了这一行。

int a = (n & 8) / 8

这应该确定从右边算起的第四位是否是 0 或 1 的二进制表示。我理解位等的概念,但我不明白这代表什么数学方程(如果有)。

有人愿意解释一下这是如何用数学方程写出来的吗?另外,如果我对这条线的理解还遗漏了任何其他内容,请告诉我。谢谢。

最佳答案

  1. 表达式 ( n & 8 )对 n 与 1000 个二进制进行逻辑与。

  2. 这样就得到了从右数第 4 位。

  3. 然后将其除以 8,将值右移 3 个二进制位。 IE。它将第四位移动到最右边的位置。

更清楚地表示为“>> 3”

所以你的整体表达会是这样的:

  (n AND 1000 )  >> 3

这会将 N 的第 4 位保留在临时变量中,作为位 0(最右边的位)。由于 AND,所有其他位都将为零。

关于java - 需要帮助理解这一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24642106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com