标签: operators

运算符 << 在这一行中做什么?

我无法理解这条线的作用:

fBuffer[fByteIndex] += 1 << (fBitIndex - 1);
Run Code Online (Sandbox Code Playgroud)

在哪里:

unsigned char fBuffer[32];
int fBitIndex;
Run Code Online (Sandbox Code Playgroud)

和:

for ( int i = 0; i < 32; i++ )
     fBuffer[i] = 0;

fBitIndex = 8;
Run Code Online (Sandbox Code Playgroud)

什么<<做呢?

c++ operators

-1
推荐指数
1
解决办法
628
查看次数

|| 有什么作用 在 ( charCode &lt; 48 || charCode &gt; 57) 中做什么?

谁能告诉我这两行在这里做什么?

( charCode < 48 || charCode > 57))
Run Code Online (Sandbox Code Playgroud)

我想它的意思是“或”或“两者兼而有之”......

function numberCheck(evt)
{
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode > 31 && ( charCode < 48 || charCode > 57))
{
        document.getElementById("numonly").innerHTML = "Numbers Please!";

        return false;
}
else
{
        document.getElementById("numonly").innerHTML = "";
        return true;
}
}
Run Code Online (Sandbox Code Playgroud)

那么你的意思是代码正在寻找除 48-57 之外的所有字符?

javascript operators

-1
推荐指数
1
解决办法
1万
查看次数

Kotlin中语法`!:: someReference`的等价物

通过这个 Android Doc,我看到了这段代码:

fun getUsers(): LiveData<List<User>> {
    if (!::users.isInitialized) {
        users = MutableLiveData()
        loadUsers()
    }
    return users
}
Run Code Online (Sandbox Code Playgroud)

我知道使用::operator来创建成员引用或类引用.但是!::users.isInitialized语法的代码是什么?

PS:这与Kotlin中:: operator的使用有什么不重复

android operators kotlin

-1
推荐指数
1
解决办法
73
查看次数

分配以及职位增量

我对输出有些困惑。用Java尝试

var x = 1;
x = x++;
console.log(x); //Its output is 1
Run Code Online (Sandbox Code Playgroud)

我当时认为应该是2.,因为我要在后期增加后进行打印。有什么看法吗?

javascript operators operator-precedence post-increment

-1
推荐指数
2
解决办法
47
查看次数

为什么 Go 没有三元条件运算符

我对 Go 比较陌生,为了快速掌握,我尝试用 Go 重写我的一些 JavaScript(NodeJS) 代码。最近我遇到了一个绊脚石,我发现 Go 没有三元运算符。例如在 JavaScript 中,我可以这样做:

const pageNumber: number = query.pageNumber ? parseInt(query.pageNumber, 10): 1;
Run Code Online (Sandbox Code Playgroud)

此处的查询代表 Req.query

但是我发现我不能用 Go 做同样的事情,我不得不写一个 if-else 语句。我只想知道为什么 Go 世界中不存在这种情况的原因是什么(是否有一些设计原则来说明为什么会这样)

design-patterns operators go

-1
推荐指数
1
解决办法
1280
查看次数

“in”运算符的优先级是什么?

今天我在这个Python程序中遇到了一个困难的情况:

a = [False, True]
x = True in a in a
y = True in a in [a]
z = True in a in (a)
print(x, y, z)
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是

a = [False, True]
x = True in a in a
y = True in a in [a]
z = True in a in (a)
print(x, y, z)
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

让我们在x这里测试:

x = True in a in a
Run Code Online (Sandbox Code Playgroud)

True in [False, True]True,又True in [False, True] …

python boolean-logic operators python-3.x

-1
推荐指数
1
解决办法
75
查看次数

C#中“%”运算符的含义和使用

我知道这是一个非常基本的问题(我对 C# 比较陌生),但不知何故我在互联网上找不到任何有关它的信息。

我只是想了解“%”运算符的作用,我以前见过应用程序并且有一些想法,但不能 100% 确定它到底做什么。

例如,下面是每 10 帧执行一次的方法(在 Unity 中):

void Update() {
     frames++;
     if (frames % 10 == 0) {
         // method
     }
}
Run Code Online (Sandbox Code Playgroud)

下面是显示的游戏时间计算:

// time = incremented by 1 every second

int seconds = (time % 60);
int minutes = (time / 60) % 60;
int hours = (time / 3600) % 24;
// int days = (time / 86400) % 365;
Run Code Online (Sandbox Code Playgroud)

在这些示例中 % 运算符到底做了什么以及我怎样才能最好地理解它。

c# operators unity-game-engine

-1
推荐指数
1
解决办法
2576
查看次数

C++ 中的@ 是什么,为什么在 C++ 头文件中使用它?

我正在查看queue头文件C++并找到了一段代码。

来自队列头文件的一段代码

#include <debug/debug.h>
#include <bits/move.h>
#include <bits/predefined_ops.h>

namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION

  /**
   * @defgroup heap_algorithms Heap
   * @ingroup sorting_algorithms
   */

  template<typename _RandomAccessIterator, typename _Distance,
       typename _Compare>
    _GLIBCXX20_CONSTEXPR
    _Distance
    __is_heap_until(_RandomAccessIterator __first, _Distance __n,
            _Compare& __comp)
    {
      _Distance __parent = 0;
      for (_Distance __child = 1; __child < __n; ++__child)
    {
      if (__comp(__first + __parent, __first + __child))
        return __child;
      if ((__child & 1) == 0)
        ++__parent;
    }
      return __n;
    }
Run Code Online (Sandbox Code Playgroud)

@它是什么以及为什么在多行注释中使用它。后面的文本@也在我的 IDE …

c++ comments operators header-files

-1
推荐指数
1
解决办法
73
查看次数

C++:对于具有 do-while 循环的两个不同函数,为什么 x+=y 在一个函数中给出与 x=x+y 相同的结果,而在另一个函数中却不然?

对于下面的函数,与使用相比,A我使用时得到了不同的结果。前者给出的结果为,后者给出的结果为。est += XXXest = est + XXX1.33227e-158.88178e-16

另一方面,对于B下面的函数,无论我是否使用est += XXX或 ,我都会得到相同的结果est = est + XXX

有人能解释为什么x+=y相当于x=x+yin 函数B而不是 in 吗A

功能A

double A(int nTerm){
    const double PI = 3.141592653589793238463;    
    double est = 0;
    double counter = 0;

    do {
        est += ( 16 * pow(-1,counter) )/ (2*counter+1) * pow((double)1/5, 2*counter+1) 
             - ( 4 * pow(-1,counter) )/ (2*counter+1) * pow((double)1/239, 2*counter+1);
        counter++; …
Run Code Online (Sandbox Code Playgroud)

c++ operators do-while

-1
推荐指数
1
解决办法
55
查看次数

1 +“2”在 C# 中如何工作

我正在阅读有关 C# 中的类型安全的内容,例如我们如何不能将整数值分配给 bool 等,这让我做了一些实验。

我执行了一个代码片段,希望它会给出编译时错误,但它有效并提供了结果。

var add = 1 + "2"; // it gave 12 as result in C#
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我的理解不正确,请纠正我,并请分享任何简要解释这一点的文档链接。

c# operators type-safety

-1
推荐指数
1
解决办法
59
查看次数