# Все вопросы: [bit-shift]

33 вопросов

1ответов
2031 просмотров

### One position right barrel shift using ALU Operators?

I was wondering if there was an efficient way to perform a shift right on an 8 bit binary value using only ALU Operators (NOT, OR, AND, XOR, ADD, SUB) Example: input: 00110101 output: 10011010 I have been able to implement a shift left by just adding the 8 bit binary value with itself since...

5ответов
7462 просмотров

### Shifting the sign bit in .NET

I'm reading bits from a monochrome bitmap. I'm storing every 16 bits in a short in the reverse order. If the bit in the bitmap is black, store a 1. If white, store a 0. E.g.: for bitmap: bbbw bbbw bbbw wwww my short is: 0000 0111 0111 0111 The 1st way I tried to do this was: short m; // ... Co...

2ответов
21591 просмотров

### How to bitwise shift in VB.NET?

How do I bitwise shift right/left in VB.NET? Does it even have operators for this, or do I have to use some utility method?

5ответов
380 просмотров

### Unexpected bitshift results

I'm initializing an unsigned short int with a = 0xff (all bits are set). Then I assign b to a&gt;&gt;7 which should yield (0000 0001) and it does. However, the odd thing is that when I assign c to a&lt;&lt;7, it isn't equivalent to (1000 0000). I tested this by outputting 0x80 (which is 1000 0000...

4ответов
435 просмотров

### Problems with bit-shifting in complicated expressions

I've distilled an equation down to this: speed = ( ( rear_wheel_speed_a + front_wheel_speed_a ) &lt;&lt; 10 ) + ( ( rear_wheel_speed_b + front_wheel_speed_b ) &lt;&lt; 2 ); but for some reason I'm getting unexpected results so I must be doing something wrong. This started out like this...

5ответов
5997 просмотров

### Bit-shifting a byte array by N bits

Hello quick question regarding bit shifting I have a value in HEX: new byte[] { 0x56, 0xAF }; which is 0101 0110 1010 1111 I want to the first N bits, for example 12. Then I must right-shift off the lowest 4 bits (16 - 12) to get 0000 0101 0110 1010 (1386 dec). I can't wrap my head around it and ...

4ответов
8941 просмотров

### In C++, what is the difference between 1 and 1i64?

I'm converting some 32-bit compatible code into 64-bit - and I've hit a snag. I'm compiling a VS2008 x64 project, and I receive this warning: warning C4334: '&lt;&lt;' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) Here's the original line of code: if (...

4ответов
3317 просмотров

### What is the best way to combine two uints into a ulong in c#

What is the best way to combine two uints into a ulong in c#, setting the high/low uints. I know bitshifting can do it, but I don't know the syntax, or there maybe other APIs to help like BitConverter, but I don't see a method that does what I want.

1ответов
1008 просмотров

### Catching overflow of left shift of constant 1 using compiler warning?

We're writing code inside the Linux kernel so, try as I might, I wasn't able to get PC-Lint/Flexelint working on Linux kernel code. Just too many built-in symbols etc. But that's a side issue. We have any number of compilers, starting with gcc, but others also. Their warnings options have been ...

14ответов
71849 просмотров

### Java: проверка, равен ли бит 0 или 1 в длинном

Какой метод вы бы использовали, чтобы определить, является ли бит, представляющий 2 ^ x, 1 или 0?

6ответов
336 просмотров

### Что делает эта строка кода?

Не знаете, что делает этот код for (L=0; L &lt; levels; L++, N_half&gt;&gt;=1){ func( y, N_half); } // end: levels for loop В частности, это "N_half&gt;&gt; = 1" Спасибо

5ответов
640 просмотров

### (-1&gt;&gt; 1) == -1 - Почему?

Почему (-1 &gt;&gt; 1) дает -1? Я работаю на C, хотя не думаю, что это должно иметь значение. Не могу понять, что мне не хватает ... Вот пример программы на C, которая выполняет вычисление: #include &lt;stdio.h&gt; int main() { int num1 = -1; int num2 = (num1 &gt;&gt; 1); ...

4ответов
4625 просмотров

### Поразрядный сдвиг AS3 0?

Я наткнулся на это в каком-то коде AS 3.0: (duration &gt;&gt; 0) Где продолжительность - Number. Я думаю, что знаю, что такое побитовое право shift работает, но какой смысл сдвигать 0 бит? Это происходит несколько раз в коде, я хотел бы понять, что он делает.

5ответов
22932 просмотров

### Побитовые операторы и "порядок байтов"

Имеет ли значение порядок байтов вообще для побитовых операций? Либо логический или смещение? Я работаю над домашним заданием в отношении побитовых операторов, и я не могу придумать, как это сделать, и я думаю, что сильно зациклился на порядке байтов. То есть я использую машину с прямым п...

7ответов
1864 просмотров

### Путаница с битовым сдвигом в C #

У меня есть старый код вроде этого: private int ParseByte(byte theByte) { byte[] bytes = new byte[1]; bytes[0] = theByte; BitArray bits = new BitArray(bytes); if (bits[0]) return 1; else return 0; } Он длинный, и я подумал, ...

6ответов
24263 просмотров

### Будет ли работать сдвиг на нулевые биты правильно?

Допустим, у меня есть такая функция: inline int shift( int what, int bitCount ) { return what &gt;&gt; bitCount; } Он будет вызываться с разных сайтов каждый раз, когда bitCount будет неотрицательным и в пределах количества бит в int. Меня особенно беспокоит вызов с bitCount, равным н...

4ответов
4015 просмотров

### Есть ли в C # оператор побитового сдвига, который перемещает биты с переполнением на другой конец переменной?

Назовем это «&lt;&lt; int32variable &lt;&lt;&lt; numberOfBits равно (int32variable &lt;&lt; numberOfBits) | (int32variable &gt;&gt; (32 - numberOfBits)) (Предполагая, что &lt;&gt; отбрасывают переполненные биты) Есть такой оператор?

7ответов
27939 просмотров

### Сдвиг влево 255 (как байт)

Может ли кто-нибудь объяснить, почему следующее не компилируется? byte b = 255 &lt;&lt; 1 Ошибка: Постоянное значение "510" не может быть преобразовано в "байт" Я ожидаю следующего в двоичном формате: 1111 1110 Изменение типа меня озадачило.

3ответов
2031 просмотров

### Зачем использовать только младшие пять бит операнда сдвига при сдвиге 32-битного значения? (например, (UInt32) 1 &lt;&lt;33 == 2)

Рассмотрим следующий код: UInt32 val = 1; UInt32 shift31 = val &lt;&lt; 31; // shift31 == 0x80000000 UInt32 shift32 = val &lt;&lt; 32; // shift32 == 0x00000001 UInt32 shift33 = val &lt;&lt; 33; // shift33 == 0x00000002 UInt32 shift33...

4ответов
2544 просмотров

### Почему этот побитовый сдвиг вправо не работает?

Может ли кто-нибудь объяснить мне, почему маска вообще не смещена вправо? Вместо 1 можно использовать что угодно, и результат будет таким же. unsigned mask = ~0 &gt;&gt; 1; printf("%u\n", mask);

43ответов
32744 просмотров

### Приходилось ли вам когда-нибудь использовать битовый сдвиг в реальных проектах?

Приходилось ли вам когда-нибудь использовать сдвиг бит в реальных проектах программирования? В большинстве (если не во всех) языках высокого уровня есть операторы сдвига, но когда вам действительно нужно их использовать?

9ответов
7219 просмотров

### Могу ли я использовать умножение и деление для сдвига битов в программировании на C?

Вместо использования &gt;&gt; и &lt;&lt; для сдвига, можно ли использовать * и / для сдвига влево и вправо? Для 8-битного: 0x01 * 2 = 0000 | 0010.

8ответов
10990 просмотров

### Где я могу найти руководство по сдвигу для C?

Я просмотрел Что такое операторы побитового сдвига (битового сдвига) и как они работают? , но мне все еще трудно понять концепцию сдвига битов. Может ли кто-нибудь указать мне на более базовое руководство по сдвигу битов в C? Я ожидаю, что это будет что-то очень длинное, поскольку оно долж...

4ответов
6053 просмотров

### Как я могу объединить верхние и нижние полубайты, последовательно сохраненные в массиве?

У меня есть массив, содержащий список полубайтов: {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, ...} Я хочу объединить соседние полубайты в отдельные байты, сдвинув верхний полубайт влево и соединив его с нижним. Результат должен выглядеть следующим образом: {0xab, 0xcd, 0xef, ...} Как сдел...

6ответов
4205 просмотров

### Каков самый быстрый способ получить 4 младших бита в байте (C ++)?

Я об этом говорю: Если у нас есть буква "А", которая равна 77 в десятичном и 4D в шестнадцатеричном формате. Я ищу самый быстрый способ получить D. Я думал о двух вариантах: Данный x является байтом. x &lt;&lt; 4; x &gt;&gt; 4 x %= 16 Есть другие способы? Какой из них быстрее?

6ответов
687 просмотров

### Действительны ли двоичные данные, которые я конвертирую в Short?

Я читаю двоичный файл журнала, созданный оборудованием. У меня есть данные в байтах []. Если мне нужно прочитать два байта, чтобы создать короткометражку, я могу сделать что-то вроде этого: short value = (short)(byte[1] &lt;&lt; 8); value += byte[2]; Теперь я знаю, что значение соот...

6ответов
4058 просмотров

### Битовые операторы для добавления двух символов без знака в C ++

Если у меня есть две шестнадцатеричные вещи, могу ли я кто-нибудь, как сложить их двоичный файл, чтобы получить значение? В C ++ скажем, у меня есть unsigned char t = 0xc2; // 11000010 unsigned char q = 0xa3; // 10100011 Я хочу как-то, 1100001010100011, возможно ли это с помощью поби...

6ответов
9913 просмотров

### Нужна помощь в понимании метода "getbits ()" в главе 2 K&amp;R C.

В главе 2, в разделе о побитовых операторах (раздел 2.9), мне трудно понять, как работает один из примеров методов. Предлагаемый метод: unsigned int getbits(unsigned int x, int p, int n) { return (x &gt;&gt; (p + 1 - n)) &amp; ~(~0 &lt;&lt; n); } Идея состоит в том, что для данного...

5ответов
7593 просмотров

### Как я могу превратить int в три байта в Java?

Я пытаюсь преобразовать int в три bytes, представляющих это int (с прямым порядком байтов). Я уверен, что это как-то связано с побитовым и битовым сдвигом. Но я не знаю, как это сделать. Например: int myInt; // some code byte b1, b2 , b3; // b1 is most significant, then b2 then b3. ...

10ответов
696503 просмотров

### Что такое операторы побитового сдвига (побитового сдвига) и как они работают?

Я пытался изучить C в свободное время, и другие языки (C #, Java и т. д.) имеют ту же концепцию (и часто те же операторы) ... На уровне ядра мне интересно, что делает битовый сдвиг (&lt;&lt;, &gt;&gt;, &gt;&gt;&gt;), какие проблемы он может помочь решить и какие подводные камни скрываются за ...