Я понимаю, что ответ, вероятно, зависит от оборудования, но мне любопытно, не хватало ли мне более общей интуиции? Я задал этот вопрос и дал ответ, теперь мне интересно, могу ли я ...
Возможный дубликат :Переполнение сдвига влево в GCC Рассмотрим следующую минимальную программу. #включить #включить int main (){ uint32 _t v = 1024; v &= (((...
В моей программе на C# есть следующее простое уравнение для преобразования числа в результирующее значение: Есть ли какая-то обратная операция, которая позволит мне перейти...
У меня есть следующий код #include
используя пространство имен std;
int main () {float f = 56,34f;
двойной d = 12,34 · 101;
cout << (f >> 1.0) << endl;
cout << (d >> 1.0) << endl; ...
Мне нужно отправить массив из 4 двойных значений в символьный буфер размером 8 байт, а также хотел бы извлечь значение из символьного массива в двойное значение для его использования. Я пытаюсь с ...
Я пишу простой режим emacs. Как четко указать, что все вещи в квадратных скобках должны быть окрашены. Должен быть smth так: ((если вещь в квадратных скобках). font-lock-string-face)
В чем разница между ~ i и INT_MAX ^ i Оба дают одинаковое нет. в двоичном формате, но когда мы печатаем нет. вывод отличается, как показано в приведенном ниже коде #include с использованием ...
В C операция побитового сдвига влево вызывает неопределенное поведение, когда левый операнд имеет отрицательное значение. Соответствующая цитата из ISO C99 (6.5.7 / 4) Результатом E1 << E2 является сдвиг E1 влево ...
Я знаю, что сдвиг вправо отрицательного типа со знаком зависит от реализации, но что, если я выполню сдвиг влево? Например: int i = -1;
я << 1; Это четко определено? Я думаю, что стандарт ...
Мне нужно извлечь определенную часть (количество битов) короткого типа данных в C. Например, у меня есть двоичное число 52504 как 11001101000 11000, и я хочу первые 6 ( FROM LSB --> MSB, т.е. 011000 десятичное число 24) биты ...
Я пытаюсь понять операторов сдвига и не могу многого добиться.
Когда я попытался выполнить приведенный ниже код System.out.println(Integer.toBinaryString(2 << 11));
System.out.println(Integer....
Я не понимаю, почему это дает мне тот же ответ: long long a = 3265917058 >> 24; std :: cout << a << std :: endl; // 194 long long ip = 3265917058; long long b = ip >> 24; ...
Из «Подписанные типы» в кодировании - Буферы протокола - Код Google: Зигзагообразная кодировка отображает целые числа со знаком в беззнаковые целые числа, чтобы числа с малым абсолютным значением (например, -1) имели ...
Итак, у меня есть следующий код языка ассемблера, который мне нужно преобразовать в C. Я запутался в нескольких строках кода. Я понимаю, что это цикл for. Я добавил свои комментарии к каждой строке. ...
Я пытаюсь сделать круговой сдвиг массива влево на n позиций, используя только один одномерный массив. Я могу сделать это в двух массивах, но я не понял, как это сделать, используя один. Пожалуйста, дайте ваш...
Мне интересно, достигнет ли x когда-либо нуля в следующей программе. Пожалуйста, учтите :int main (){инт х = 1; в то время как (x ){ x <<= 1; } вернуть 0; } Если...
Раньше я использовал оператор >> для сдвига вправо. Теперь я просто заменил его на >>> и получил тот же результат. Так что я не могу понять, являются ли эти два фундаментально равными или нет.
Переменная Int64 должна быть сдвинута. Я разбираю псевдоматематические функции из файла базы данных. Переменные - это uint32 или int32, поэтому я поместил их в Int64, чтобы обрабатывать их одинаково без...
Рассмотрим следующий код :int i = 3 << 65; Я ожидаю, что результат будет i==0, однако фактический результат равен i==6. Проведя некоторое тестирование, я обнаружил, что со следующим кодом :int i, s; инт...
Я пишу код для очень ограниченной системы, где оператор мода работает очень медленно. В моем коде по модулю нужно использовать около 180 раз в секунду, и я полагал, что убираю его как можно чаще...
Как битовые сдвиги реализуются на аппаратном уровне, когда число, на которое нужно сдвинуть, неизвестно? Я не могу себе представить, что будет отдельная схема для каждого числа, на которое вы можете смещаться (это было бы 64 ...
Я использую язык C.
Тип x и n — int. У меня есть один строковый код следующим образом: printf("x=%x,n=%d,first=%x,second=%x\n",x,n,((~(x+0xffffffff))>>n) ,((~x+1)>>n)); Он показывает...
Я искал самый быстрый метод для вычисления квадратного корня (целого числа) числа (целого числа). Я наткнулся на это решение в Википедии, которое находит квадратный корень числа (если это идеальное...
Глядя на исходный код класса java.nio.DirectByteBuffer, я нашел это: if ((length << 0) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) .... Какова цель сдвига длины на ноль бит?. ..
Изучив трудный путь, я попытался сдвинуть влево длинное длинное и uint64 _t до более чем 32 бит на машине x86, в результате 0. Я смутно помню, что где-то читал, чем на 32-битной машине сдвиг..
Все эти функции дают ожидаемый результат на моей машине. Все ли они работают на других платформах? В частности, если x имеет битовое представление 0xffffffff на машинах с дополнением 1 или ...
Почему следующие две операции дают разные результаты в Java для x = 31 или 32, но те же результаты для x=3? интервал х=3; int b = (int )Math.pow (2,x ); int с = 1<<х; Результаты :x=32 :b=...
Я должен реализовать контрольную сумму (CRC16 CCITT )для проверки содержимого файла. Контрольную сумму довольно просто реализовать на C или Java благодаря операторам << и >> и множеству примеров...
Что мне нужно сделать, это реализовать как побитовый сдвиг влево, так и побитовый сдвиг вправо с использованием ассемблера LC-3. В принципе, каждый бит должен быть перемещен на один пробел в направлении сдвига, и ноль...
У меня есть этот код на C (только для изучения): char x; uint64_t всего = 0; for(x = 20; x < 30; x++){ total = (((((1 << x) * x) / 64) + 1) * sizeof (uint64_t)); ...