标签: shift

在C#/ Windows Forms中检测应用程序启动时的shift键

有没有办法让标准的Windows窗体应用程序检测是否Shift在应用程序启动时按下了键 - 而不使用Windows挂钩?

理想情况下,如果在运行EXE文件时按住shift键,工作流程将从正常状态更改.

c# hotkeys detect shift winforms

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

如何在MOD表达式中找到变量值?

9 = 2 ^ X mod 11

什么是X,你如何找到X?

它与在RSA算法中查找纯文本有关,我正在为它编写一个C程序.

math shift modulo

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

bool变量可以存储超过0x01吗?

#include <iostream>
#include <bitset>

using namespace std;

int main()
{
    bool a = 0x03;
    bitset<8> x(a);
    cout<<x<<endl;

    a = a>>1;
    bitset<8> y(a);
    cout<<y<<endl; 
}
Run Code Online (Sandbox Code Playgroud)

结果是:

00000001    
00000000
Run Code Online (Sandbox Code Playgroud)

结果不是:

00000011
00000001
Run Code Online (Sandbox Code Playgroud)

如果我改变的类型a,从boolchar,其结果将是第二个.这意味着我不能在a中存储超过0x01,大于0x01的bool所有正确值都被视为0x01.

所有编译器都有这种行为?

c++ binary boolean shift

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

C循环移位的错误答案

右移的实施是:

unsigned int rotr(unsigned int value, int shift) {
    return (value >> shift) | (value << (sizeof(value) * 8 - shift));
}
Run Code Online (Sandbox Code Playgroud)

但如果价值是0x17=00010111结果应该0x8b=10001011但结果是0x8000000b.

怎么处理这个问题?

#include <stdio.h>
unsigned int rotr(unsigned int value,int shift) {
    return (value >> shift) | (value << (sizeof(value) * 8 - shift));
}
int main()
{
  unsigned int a = 0x17;
  printf("%x",rotr(a,(unsigned)1));
}

=> 8000000b
Run Code Online (Sandbox Code Playgroud)

c bit-manipulation shift

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

如何将二进制数转移到左侧

简单的事情,如何打印二进制数并将其转移到左侧?

$num = 0b00000010001;
for(0..6){
    print sprintf ("%b",$num), "\n";
    $num<<1;
}
Run Code Online (Sandbox Code Playgroud)

这段代码的问题:它不会在1之前打印0!打印的重新打印只是"10001",它不会改变数字.

最终的输出应该是:

00000010001
00000100010
00001000100
00010001000
00100010000
01000100000
10001000000
Run Code Online (Sandbox Code Playgroud)

binary perl shift

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

为什么`int >> 32`不总是为零?

有人可以解释一下为什么在C/C++中,一些4字节整数的32位按位移位可能不会返回零?为什么它取决于-O编译器的选项?

例如,此代码在gcc 4.8.3中给出45 -O0和0以及-O3选项:

unsigned int x = 45; // 4 bytes
x = x >> 32;
printf("%u\n", x);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c c++ bit-manipulation shift

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

在同一语句中使用shift和@_是否安全?

以下代码是否安全?它是否运行在所有perl版本> = 5.8?是否保证在解压缩@_之前执行转换

sub f1 {
    shift->update(p1 => shift, p2 => shift, @_);
}
Run Code Online (Sandbox Code Playgroud)

详细替代代码:

sub f2 {
    my ($self, $p1, $p2, @r) = @_;
    $self->update(p1 => $p1, p2 => $p2, @r);
}
Run Code Online (Sandbox Code Playgroud)

parameters perl unpack shift

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

在R中按ID移一行

我有数据框,我想用条件创建一个新变量"Begin1":如果变量"Begin"的第二行小于第一行的变量"End",则设置值"End"替换"Begin"由于按ID重叠

ID <- c(rep(1,3), rep(3, 5), rep(4,4))
Begin <- c(0,2.5,5, 7,8,7,25,25,10,15,17,20)
End <- c(1.5,3.5,6, 7.5,8,11,29,35, 12,19,21,28)
df <- data.frame(ID, Begin, End)
df
    ID Begin  End
1   1   0.0  1.5
2   1   2.5  3.5
3   1   5.0  6.0
4   3   7.0  7.5
5   3   8.0  8.0
6   3   7.0 11.0**
7   3  25.0 29.0
8   3  25.0 35.0**
9   4  10.0 12.0
10  4  15.0 19.0
11  4  17.0 21.0**
12  4  20.0 28.0**
Run Code Online (Sandbox Code Playgroud)

如果你能看到,行加粗,排(6,8,11,12).从ID为3的第6行开始,您会看到"Begin"= 7.0,它比前一行的"End"小,现在我们设置"Begin1"= 8.0.对于ID为3的行8,"Begin"= 25,它比之前的"End"= 29小,现在我们设置"Begin1"= 29,依此类推.这是输出

   ID …
Run Code Online (Sandbox Code Playgroud)

r shift dataframe

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

在javascript中向前移动数组

好吧,所以我不知道标题是否正确,但我正在努力做的是找到一个算法做这样的事情.所以我们有一个输入数组,例如:['a','b','c','d',...]直到字母表的结尾,以及一个要移位的数字.我必须输出数组,如['x','y','z','a','b','c',...],如果我有一个数字3移位; 关于如何做的任何想法?我试过了:

function solve(args)
{
    let arr = ['a', 'b', 'c', 'd'];
    let number = 3;

    for (let i = 0; i < arr.length; i++)
    {
        if (typeof arr[i + 1] === undefined)
        {
            arr[0] = arr[i];
        }
        else if (typeof arr[i - 1] === undefined)
        {
            arr[arr.length - 1] = arr[0];
        }
        else
        {
            arr[i] = arr[i + 1];
        }
    }
    console.log(arr);
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays shift alphabet

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

根据r中的第三列将值复制到下一行

我正在尝试从我拥有的数据创建一个新列smk_R.对于每个ID变量,我随着时间的推移有两种类型的数据.类型1数据是我的锚点,将保留用于以后的分析.类型0行中的信息也很重要,应该在每个ID中及时推送到下一个类型1行.基本上,我希望看看人们是否在两次Type 1评估中抽烟(smk = 0表示否,smk = 1表示肯定).如果他们这样做,即使在特定类型1评估中smk = 0,下一个类型1评估也应指示smk_R = 1.任何关于如何做到这一点的想法将不胜感激.我的数据中没有变量grp但如果可以从dat1创建,我想我可以在组内获取smk的最大值来获得smk_R.

ID<-c(5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9)
time<-c(0.16,0.35,0.72,1.17,1.19,1.19,1.65,1.99,2.2,2.37,2.78,3.57,3.88,4.12,0.29,0.35,0.79,1.17,1.29,1.29,1.75,1.96,2.27,2.57,2.78,3.57,4.88,5.12)
type<-c(0,1,0,1,0,1,0,0,0,0,0,1,1,1,0,1,0,1,0,1,0,0,0,0,0,1,1,1)
smk<-c(1,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1)
grp<-c(1,1,2,2,3,3,4,4,4,4,4,4,5,6,1,1,2,2,3,3,4,4,4,4,4,4,5,6)
smk_R<-c(1,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1)

dat1<-cbind.data.frame(ID,time,type,smk)
dat1

   ID time type smk
1   5 0.16    0   1
2   5 0.35    1   0
3   5 0.72    0   0
4   5 1.17    1   0
5   5 1.19    0   0
6   5 1.19    1   1
7   5 1.65    0   1
8   5 1.99    0   1
9   5 2.20    0   1
10  5 2.37    0   0
11  5 2.78    0   0
12  5 3.57 …
Run Code Online (Sandbox Code Playgroud)

if-statement r shift lag dplyr

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