-1

アプリケーションを 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。問題を理解して解決するのを手伝ってもらえますか?

どうもありがとうございました。

4

1 に答える 1