我想将UISlider值的value属性更改为其二进制形式。滑块值,int到二进制转换
至于我做了什么:
-(IBAction)setValue:(id)sender
{
int value =(int)([sliderValue value] *200);
NSLog(@"slider value int %i", value);
NSLog(@"hex 0x%02X",(unsigned int)value);
NSMutableArray *xx;
[xx addObject:[NSNumber numberWithInt:value]];
NSLog(@"%@",xx);
NSInteger theNumber = [[xx objectAtIndex:value]intValue];
NSLog(@"%@",theNumber);
NSMutableString *str = [NSMutableString string];
NSInteger numberCopy = theNumber; // so won't change original value
for(NSInteger i = 0; i < 8 ; i++) {
// Prepend "0" or "1", depending on the bit
[str insertString:((numberCopy & 1) ? @"1" : @"0") atIndex:0];
numberCopy >>= 1;
}
NSLog(@"Binary version: %@", str);
}
然而,有一个问题。只要滑块值发生变化,它就会转换为整数和十六进制,但不能转换为二进制。任何人都可以帮我找到我犯了错误的地方吗?
你是什么意思“它不是转换为二进制”?你会得到什么样的输出?你期望什么? – 2013-03-05 14:28:19
当我增加或减少滑块(值)的变化,因为我希望该值每次都改变为二进制..如果你检查我的程序我改变滑块值从浮动到整型,就像我想转换为二进制 – Dian007 2013-03-05 14:31:00
哦,我应该只是读了代码... – 2013-03-05 14:39:04