Предположим, я портирую код из C ++ и должен эмулировать те же методы сдвига битов в C #:
Всякий раз, когда я выполняю сдвиг битов, должен ли я когда-либо учитывать конечность архитектуры?
Нет. Битшифтинг — это чисто алгебраическая операция. Это не более зависит от платформы, чем умножение на два.
Какие является Зависимость от платформы — это результат интерпретации переменной как массива символов.
Нет, ты не. Как в C ++, так и в C # вы можете думать о сдвиге битов целиком с точки зрения хранимого числа, не обращая внимания на порядковый номер архитектуры.