Search code examples
iosxcodeswift3

Integer literal '255' overflows when stored into 'Int8'


I have the following code and i get the following error. Integer literal '255' overflows when stored into 'Int8'

func decodeIDArrayItem(index:Int, tokenArray:UnsafeMutablePointer<CChar>){

    var value = tokenArray[index * 4] & 0xFF
    value <<= 8;
    value |= tokenArray [index * 4 + 1] & 0xFF
    value <<= 8;
    value |= tokenArray [index * 4 + 2] & 0xFF
    value <<= 8;
    value |= tokenArray [index * 4 + 3] & 0xFF

}

Any thoughts?


Solution

  • func decodeIDArrayItem(index:Int, tokenArray:UnsafeMutablePointer<CChar>) -> UInt32{
    
        var value:UInt32 = UInt32(tokenArray[index * 4]) & 0xFF
    
        value <<= 8
        value |= UInt32(tokenArray [index * 4 + 1]) & 0xFF
        value <<= 8
        value |= UInt32(tokenArray [index * 4 + 2]) & 0xFF
        value <<= 8
        value |= UInt32(tokenArray [index * 4 + 3]) & 0xFF
    
    
        return value
    
    }