Advertisement
Guest User

Untitled

a guest
Jul 10th, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. + (NSString *)getBitStringForInt:(int)value {
  2.  
  3. NSString *bits = @"";
  4.  
  5. for(int i = 0; i < 8; i ++) {
  6. bits = [NSString stringWithFormat:@"%i%@", value & (1 << i) ? 1 : 0, bits];
  7. }
  8.  
  9. return bits;
  10. }
  11.  
  12. NSString *binaryRepresentation(int value)
  13. {
  14. long nibbleCount = sizeof(value) * 2;
  15. NSMutableString *bitString = [NSMutableString stringWithCapacity:nibbleCount * 5];
  16.  
  17. for (int index = 4 * nibbleCount - 1; index >= 0; index--)
  18. {
  19. [bitString appendFormat:@"%i", value & (1 << index) ? 1 : 0];
  20. if (index % 4 == 0)
  21. {
  22. [bitString appendString:@" "];
  23. }
  24. }
  25.  
  26. return bitString;
  27. }
  28.  
  29. NSString *str = [ [NSString alloc] initWithBytes:barr length:sizeof(barr) encoding:NSUTF8StringEncoding]];
  30.  
  31. @interface NSString (BinaryStringRepresentation)
  32.  
  33. + (NSString *)binaryStringRepresentationOfInt:(long)value;
  34. + (NSString *)binaryStringRepresentationOfInt:(long)value numberOfDigits:(unsigned int)length chunkLength:(unsigned int)chunkLength;
  35.  
  36. @end
  37.  
  38. @implementation NSString (BinaryStringRepresentation)
  39.  
  40. + (NSString *)binaryStringRepresentationOfInt:(long)value
  41. {
  42. const unsigned int chunkLength = 4;
  43. unsigned int numberOfDigits = 8;
  44. return [self binaryStringRepresentationOfInt:value numberOfDigits:numberOfDigits chunkLength:4];
  45. }
  46.  
  47. + (NSString *)binaryStringRepresentationOfInt:(long)value numberOfDigits:(unsigned int)length chunkLength:(unsigned int)chunkLength
  48. {
  49. NSMutableString *string = [NSMutableString new];
  50.  
  51. for(int i = 0; i < length; i ++) {
  52. NSString *divider = i % chunkLength == chunkLength-1 ? @" " : @"";
  53. NSString *part = [NSString stringWithFormat:@"%@%i", divider, value & (1 << i) ? 1 : 0];
  54. [string insertString:part atIndex:0];
  55. }
  56.  
  57. return string;
  58. }
  59.  
  60. @end
  61.  
  62. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:0]);
  63. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:1]);
  64. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:2]);
  65. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:3]);
  66. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:7]);
  67. NSLog(@"%@", [NSString binaryStringRepresentationOfInt:16]);
  68.  
  69. 0000 0000
  70. 0000 0001
  71. 0000 0010
  72. 0000 0011
  73. 0000 0111
  74. 0001 0000
  75.  
  76. -(NSString *)toBinary:(NSInteger)input
  77. {
  78. if (input == 1 || input == 0) {
  79. return [NSString stringWithFormat:@"%.8d", input];
  80. }
  81. else
  82. {
  83. NSString * myString = [NSString stringWithFormat:@"%@%d", [self toBinary:input / 2], input % 2];
  84. NSRange stringRange = {[myString length] - 8,8};
  85. NSString *shortString = [myString substringWithRange:stringRange];
  86. return shortString;
  87. }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement