アプリケーションを C から C# に変換していますが、ulong
値を使用してシフトを変換する際にエラーが発生しました。
C++ の元のコードは次のとおりです。
unsigned long long dat = (d >> dat_shift) & (0xffffffffffffffff >> (64 - data_bits_first_frame));
C# では、次のようにする必要があると思います。
long d = 1158552107947655168;
int dat_shift = 8;
int data_bits_first_frame = 0;
ulong dat = (d >> dat_shift) & (0xffffffffffffffff >> (64 - data_bits_first_frame));
実行時にエラーが発生しますCS0019 Operator '&' cannot be applied to operands of type 'ulong' and 'ulong'
。
その理由は0xffffffffffffffff
。問題を理解して解決するのを手伝ってもらえますか?
どうもありがとうございました。