2016-11-15 9 views
0

Swiftでビットボードを実装しようとしていて、64ビット整数をUInt64に格納しようとしているときにオーバーフローエラーが発生しています。私は何が起こるかを推測しているSwift 3 64ビット整数を割り当てるときにuint64がオーバーフローする

var white_queen_bb:uint64 = 0001000000000000000000000000000000000000000000000000000000000000 as UInt64; 

Integer Literal '100000000000000000000000000000000000000000000000000000000000' overflows when stored into 'UInt64' 

は、スウィフトは、10進整数として数値を扱い、その後の試行が64-ビットよりも大きくなってしまう進数に変換することです。

どうすればいいですか? ありがとう

答えて

2

あなたはそうです。 Swiftは、デフォルトで数字を10進数として扱います。 let j: UInt64 = 0b0100は4

の10進値を持っているでしょう:あなたはスウィフトで2進数を使用したい場合は したがって let i: UInt64 = 01000b接頭辞を使用し、小数値100

を持っているでしょう

関連する問題