14

intとは 64 ビットの符号付き/符号なし整数であることを理解してuintいます - のようにint64/ uint64。また、それは単に(like -> is)intのエイリアスではないことも理解しています。そのため、必要に応じて変換する必要があります。しかし、一方を他方よりも使用する利点は何ですか? 一般的な型を使用すると、実行時にパフォーマンスが低下することはありますか?int64byteuint8int64int

これが一般的な質問である場合は申し訳ありません-他の人が以前に発生した可能性があると思っていたので、答えをグーグルで検索しました(そしてここでも検索しました)が、パフォーマンスにどのように影響するかという点で誰も質問に答えていませんでした(あったとしても)、メモリ使用量 (両方とも 64 ビット整数であるとは思わないでしょうか?)、コンパイラがそれらをどのように扱うか。

編集: int/unitが 32 ビット アーキテクチャで 32 ビットであることは承知しています。簡潔にして比較するために、これは 64 ビットの Golang 環境であると想定していました。

4

3 に答える 3

22

intおよびuint64 ビット アーキテクチャでは 64 ビットのみです。32 ビット アーキテクチャでは、32 ビットです。

一般的な答えは、特定の精度が必要でない限り、現在のアーキテクチャではワードと同じサイズのデータ​​型 (たとえば、32 ビット アーキテクチャでは 32 ビット) を使用する方が通常はわずかに効率的だということです。

于 2013-05-07T19:58:12.357 に答える