bit-shift

    8热度

    1回答

    寻求澄清的东西。 这是我的理解,关于算术,逻辑逐位的变化: <<工作相同的两个 >>转变在逻辑移位与0差异总是会填充字节,而算术移位将填充符号位。 如何区分这使用C? 据我了解,实际经营者是同一<<,>> 将如何指挥差异之间: int i=1; printf ("%d\n", i >> 1); // logical shift int j=1; printf ("%d\n", j >> 1

    0热度

    1回答

    我有一些关于VB.NET位移的问题。我知道<< >>运算符是VB.NET中的位移运算符。 我有一个双字节十六进制值​​3210,这两个字节中的每一位代表一天,一个月或一年。该十六进制值的位结构是yyyy yyym mmmd dddd。 我很困惑,我应该如何移位这些值,以便年,月和日在他们自己的UINT16值。应该移动的数字是什么,我需要添加任何填充到班次?

    0热度

    1回答

    我在做JavaScript代码转换为VB.NET。我坚持使用>>>操作。 查看示例代码和我下面的尝试: 的JavaScript: function test(a, b) { return (a << b) | (a >>> (32 - b)) } 我在VB.NET尝试: Private Function test(ByVal a As Integer, ByVal b As Int

    2热度

    2回答

    我一直在寻找在F#文档上按位老年退休金计划: 按位向右移位运算符。 结果是第一个操作数,其位 右移了第二个操作数的位数 。比特移位 最不重要的位置不是 旋转为最显着的 的位置。对于无符号类型,最高有效位用 填充。对于有符号类型,最重要的位填充1。第二个参数的类型是 int32。 与C++语言相比,这种设计选择背后的动机是什么(也可能是C),MSB是用零填充的?例如: int mask = -214

    0热度

    4回答

    对有符号整数-28进行逻辑右移3运算。什么是正确的答案? +203 +83 +3 -3 2的-28补是11100100. 现在,如果我申请逻辑右移操作,我没有得到以上任何一个答案。

    9热度

    4回答

    好吧,我试图寻找了一下>>,或转移手段,但它的方式在我的头上,因为这网站解释它:http://www.janeg.ca/scjp/oper/shift.html 所以有人可以解释它像他们说话的孩子吗?

    18热度

    4回答

    考虑的java代码如下剪断 byte b=(byte) 0xf1; byte c=(byte)(b>>4); byte d=(byte) (b>>>4); 输出: c=0xff d=0xff 预期输出: c=0x0f 怎么样? as b in binary 1111 0001 无符号右移0000 1111因此0x0f但为什么是0xff怎么样?

    1热度

    3回答

    逻辑右移和算术右移有什么区别?

    8热度

    1回答

    所以我有以下汇编语言代码,我需要转换成C.我困惑了几行代码。 我知道这是一个for循环。我在每一行添加了我的评论。 我觉得for循环是这样 for (int i = 1; i > 0; i << what?) { //Calculate result } 什么是测试条件?我该如何改变它? 看看汇编代码,变量'n'做什么? 这是英特尔的x86所以格式是MOVL =源,什特 movl

    3热度

    3回答

    我想在C中写一个函数,它会根据时钟信号移出一个字节的各个位。到目前为止,我已经想出这个... void ShiftOutByte (char Data) { int Mask = 1; int Bit = 0; while(Bit < 8) { while(ClkPin == LOW); DataPin = Data && Mask