ulongをuint32に変換するにはどうすればよいですか?単純なキャストは機能しません。私にとっては、longを文字列に変換してから、再び文字列をintに解析することです。Objective-C - ulong to uint32
しかし、これは本当に間違っているようです。もっと良い方法はありますか?
ulongをuint32に変換するにはどうすればよいですか?単純なキャストは機能しません。私にとっては、longを文字列に変換してから、再び文字列をintに解析することです。Objective-C - ulong to uint32
しかし、これは本当に間違っているようです。もっと良い方法はありますか?
Paul Rが言ったように、「シンプルキャスト」の意味がわからない。 以下の両方がうまく動作しています(また、ULONGLONGでテストしています)。
直接キャスト:のNSNumberを使用して
unsigned long long val1 = (unsigned long long)75;
UInt32 val2 = (UInt32)val1;
NSLog(@"%qu, %lu", num1, num2);
// OUTPUTS: 75, 75
:
NSNumber* val1 = [NSNumber numberwithUnsignedLongLong:75];
NSNumber* val2 = [NSNumber numberwithUnsignedInteger:[val1 usignedIntegerValue]];
NSLog(@"%qu, %u", [num1 unsignedLongLongValue], [num2 unsignedIntegerValue]];
// OUTPUTS: 75, 75
あなたはまさに "シンプルなキャストが動作していない" とはどういう意味ですか?正確なコンパイラのエラーメッセージまたは実行時に発生する問題は何ですか? –
ulongを値75でキャストすると、uint32の値は2147483647になります。 – oipoistar
ここからは、 'ulong'型はどこから取得していますか?その定義は何ですか?あなたのキャストはどのように見えますか? –