bit-shift

Я думаю, что понимаю, что они принципиально делают-оперируют битами (flip, shift, invert и т. д...). Моя проблема заключается в том, что я не знаю, когда мне понадобится их использовать, и я не думаю, что полностью понимаю биты. Я знаю, что в байте есть 8 битов, и я знаю, что биты-это либо 0, либо 1. Вот...

Итак, я пытался сделать" циклический " побитовый сдвиг в c++ (11), и у меня есть базовый код, который сводится к следующему: #include <cstdio> #include <limits> // is_signed #include <limits.h> // CHAR_BIT template<typename T> T rotl(T input, unsigned int shift) { return (input&...

В небольшом скрипте, над которым я работаю, я использую следующие функции: function ROTR( $x, $t ){ return( $x >> $t ) | ( $x << ( 32 - $t ) ); } function Σ0( $x ){ echo("SIG INPUT: " . $x . "<br>" ); $s0 = ROTR( $x, 2 ); $s1 = ROTR( $x, 13 ); $s2 = ROTR( $x, 22 ); ...

Я не хочу, чтобы кто-то объяснял, как работает следующий код (он проверяет, является ли int пандигитальным), поскольку я должен делать это сам. Мне просто нужна помощь в понимании строки 8 конкретно. Я не знаю, что делает|. private bool isPandigital(long n) { int digits = 0; int count = 0; int tm...

Вот одна программа #include<stdio.h> #include<stdlib.h> int main() { unsigned char a=0x80; printf("%dn",a<<1); } Выход выше 256 Теперь вот еще одна версия вышеуказанной программы #include<stdio.h> #include<stdlib.h> int main() { unsigned char a=0x80; a=a<<1; pri...

Я нашел следующий код в примере программы: const unsigned int n = /* something */ unsigned int i = 1; for (unsigned int j = 1; j < n-1; ++j) { i <<= 1; } Существует ли прямая формула для вычисления i из n Без цикла?...

Я пытался изучать C в свободное время и другие языки (C#, Java и т. д.) имеют одно и то же понятие (и часто одни и те же операторы) ... Мне интересно, на уровне ядра, что делает бит-сдвиг (>, >>>) действительно, какие проблемы это может помочь решить, и какие готы скрываются за поворотом? Другим...

данный коллегой как головоломка, я не могу понять, как эта программа C на самом деле компилируется и запускается. Что это такое >>>= оператор и странный 1P1 литерал? Я протестировал в Clang и GCC. Нет никаких предупреждений и выход "???" #include <stdio.h> int main() { int a[2]={ 10, 1 };...

В C++, операторы сдвига (<<,>>) арифметика или логика?...

когда я пишу следующую программу и использую компилятор GNU C++, выход 1 что, я думаю, связано с операцией вращения, выполняемой компилятором. #include <iostream> int main() { int a = 1; std::cout << (a << 32) << std::endl; return 0; } но логически, как сказано, что би...