私はC言語を使用しています。 "npu_session_total"という名前の関数があります。 次に、このfuncの戻り値を使用して、符号なしlong変数 "accelerated_count"に割り当てます。Cを使用してunsigned longにintを代入する方法は?
int npu_session_total(void)
{
// this will return an int
return atomic_read(&npu_session_count);
}
........
unsigned long accelerated_count = npu_session_total();
これは問題を引き起こしますか?どのようにキャストをすることができますか?
ありがとうございます!
セッション数がマイナスになることはありますか?はいの場合、問題が発生します。セッション数はintの範囲を超えるでしょうか?はいの場合は問題あります。 –
'int'から' unsigned long'への変換は暗黙的に行われます。あなたの行動に満足している限り、何もする必要はありません(つまり、負の値が 'ULONG_MAX 'を囲む)。言い換えれば、それはあなたが望む/期待していることによって「問題」を引き起こすでしょう。あなたはあまり言わない。 – AnT
セッション数は正で、max_intの範囲内である必要があります。私は小さな正のint値を持っていると私はそれがうまくいくと思うので、私はそれをunsigned long変数に割り当てますか? – d22shen