我想將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