相关疑难解决方法(0)

如何检查整数是偶数还是奇数?

如何在C中检查给定数字是偶数还是奇数?

c integer

193
推荐指数
12
解决办法
36万
查看次数

Select every second element from array using lambda

C# 4.0. How can the following be done using lambda expressions?

int[] a = new int[8] { 0, 1, 2, 3, 4, 5, 6, 7 };
// Now fetch every second element so that we get { 0, 2, 4, 6 }
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

x86_64 - 汇编 - 循环条件和乱序

不是要求基准.

(如果是这样的话,我会自己做的.)


我的问题:

为方便起见,我倾向于避免间接/索引寻址模式.

作为替代,我经常使用立即,绝对或寄存器寻址.

代码:

; %esi has the array address. Say we iterate a doubleword (4bytes) array.
; %ecx is the array elements count
(0x98767) myloop:
    ... ;do whatever with %esi
    add $4, %esi
    dec %ecx
    jnz 0x98767;
Run Code Online (Sandbox Code Playgroud)

在这里,我们有一个序列化的组合(dec和jnz),它可以防止正常的乱序执行(依赖).

有没有办法避免/破坏dep?(我不是装配专家).

assembly loops x86-64 conditional-statements

4
推荐指数
1
解决办法
1070
查看次数

条件 if(k & 1) 在 c 中是什么意思?

这是c中的代码示例,我不确定条件“k&1”是什么意思。

int k,i,c;
k = i >> c;
if (k & 1)
   printf("1");
else
   printf("0");
Run Code Online (Sandbox Code Playgroud)

c

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

如何使用C#查找数字是偶数还是奇数?

我知道有一种方法可以找到一个数字是偶数还是奇数使用模数(找到一个数字是偶数还是奇数的最快方法是什么?)但是我想知道是否有类似数学的C#函数.甚至还是Math.Odd.使用模数是唯一的方法吗?

(我知道这听起来像是一个愚蠢的问题,但我敢打赌我的老师,在C#中有一个内置的功能,他声称没有....)

c# syntax

1
推荐指数
3
解决办法
754
查看次数

使用按位运算而不是算术替代?

让我们说我正在检查奇数:

(i % 2 == 1)
Run Code Online (Sandbox Code Playgroud)

编译器是否会将该操作转换为:

if(a & 1)
Run Code Online (Sandbox Code Playgroud)

我知道按位操作更快,有时我会使用位.

但是我的问题是:如果正常的算术更具可读性(在大多数情况下),如果编译器稍后可以转换它,我何时应该使用bitwise?

或者我总是在有可能的时候使用bitwise(即使它不太可读)?

c++ bit-manipulation compilation

0
推荐指数
1
解决办法
87
查看次数

a%2 和 a&1 哪个更快?

我知道的原理a&1:例如:

4&1: 0100
     0001
   = 0000
Run Code Online (Sandbox Code Playgroud)

5&1: 0101
     0001
   = 0001
Run Code Online (Sandbox Code Playgroud)

但我想知道原理是什么以及如何a%2

哪个更快,a%2或者a&1

c c++

0
推荐指数
1
解决办法
622
查看次数

这个奇数计划有什么问题吗?

我想知道一个数字是不是奇数.我想比较LSB而不是使用modulo.

int main(int argc, char*argv[])
{
    if ( argc >1 ) {
        if ( atoi(argv[1]) & 0x1 == 1 ) 
            printf ("odd num \n");
    }
    return 0;
}


# ./odd 2
# ./odd 3
odd num 
# ./odd 22
# ./odd 23
# ./odd 33
odd num 
# ./odd 43
# ./odd 52
odd num 
# file odd
odd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x56f7eb1e7a35762bd8b786eefb5516a14549fc1f, not stripped
Run Code Online (Sandbox Code Playgroud)

c c++

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