Pages

Showing posts with label byte. Show all posts
Showing posts with label byte. Show all posts

September 8, 2013

NSInteger to Word number conversion

Easy conversion between NSInteger and Word.
You need:
- http://objective-c-functions.blogspot.com/2013/08/int-to-hex-number-conversion.html
- http://objective-c-functions.blogspot.com/2013/08/hex-to-int-number-conversion.html


/** Convert an int to a Word defined by a low byte and a high byte.

 @param intVal Integer value.
 @return Returns an array in which first item is the low byte and second item is the high byte.
 @see intFromWordWithLowByte:highByte:

 */
+ (NSArray *)highLowBytesFromInteger:(NSInteger)intVal {

    NSString *hexVal = [[LMFunctions hexFromInt:intVal] substringFromIndex:2]; // Remove "0x".
    NSMutableString *prefix = [[NSMutableString alloc] initWithString:@""];

    NSInteger length = hexVal.length;
    if (length < 4) {
        for (NSInteger i=0; i<4-length; i++) {
            [prefix appendString:@"0"];
        }
    }

    hexVal = [NSString stringWithFormat:@"%@%@", prefix, hexVal];

    NSString *hexValHigh    = [hexVal substringToIndex:2];
    NSString *hexValLow        = [hexVal substringFromIndex:(hexVal.length - 2)];

    Byte bH = [LMFunctions intFromHex:hexValHigh];
    Byte bL = [LMFunctions intFromHex:hexValLow];

    return [NSArray arrayWithObjects:[NSNumber numberWithInteger:bH], [NSNumber numberWithInteger:bL], nil];
}



Download the ready-for-use source file (.m) of NSInteger to Word number conversion