文字列にバイナリシーケンスがあります。それを10進数で変換する方法。 Objective Cに組み込み関数がありますか?Objective Cで2進数から10進数に変換
4
A
答えて
-1
組み込み関数が見つかりませんでした。そこで、私たちが会話のために行うプロセスに応じて、単純なC関数を書いた。
(int) BinToInt(char *temp) {
int count, total, i, j, tmp;
total = 0;
count = strlen(temp);
for (i = 0; i <= count; i++) {
if (temp[count-i] == '1') {
tmp = 1;
for (j = 1; j < i; j++)
tmp *= 2;
total += tmp;
}
}
20
NSString * b = @"1101";
long v = strtol([b UTF8String], NULL, 2);
NSLog(@"%ld", v); //logs 13
これの欠点は、唯一の正の数を生成するように見えるということです。
+0
左端のビットを符号ビット(すなわち、 '0001' = 1と' 1001' = -1)として使いたい場合は '[str hasPrefix:@" 1 "]'を使うだけです。それ以外の場合は、他のアルゴリズムを使用して、文字列が負の値に一致するかどうかを確認することができます – Arc676
-1
彼らは今のObjective-Cでの宿題を設定している
(void)convertBinaryToNumeric{
NSString *bin_Input = @"1010";
NSString *reverseInput = [self reverseString:bin_Input];
int dec_Output = 0;
int dec_Counter = 0;
for (int i=0; i<[reverseInput length]; i++) {
dec_Output = [[reverseInput substringWithRange:NSMakeRange(i, 1)] intValue] * [self multipliesByTwo:i];
dec_Output = dec_Counter + dec_Output;
dec_Counter = dec_Output;
}
NSLog(@"Bin:%@ Dec:%d",bin_Input,dec_Output);
}
(NSString *)reverseString:(NSString *)inputStr{
NSMutableString *revStr = [[NSMutableString alloc]initWithString:@""];
for (int i=[inputStr length]-1; i>=0; i--) {
[revStr appendString:[inputStr substringWithRange:NSMakeRange(i, 1)]];
}
return revStr;
}
(int)multipliesByTwo:(int)number{
if(number == 0){
return 1;
}else{
int bin_value = 2;
int multipleBy=0;
for (int i=1; i<=number; i++) {
if(multipleBy == 0){
multipleBy = bin_value;
}else{
multipleBy = multipleBy *2;
}
}
return multipleBy;
}
return 0;
}
+0
それは自分自身のロジックです。 –
関連する問題
- 1. Cでの10進数から2進数への変換
- 2. 数式を2進数から10進数に変換する
- 3. 10進数から2進数への変換(整数1〜8)
- 4. 10進数から16進数に変換するC++プログラム
- 5. 10進数から2進数への変換
- 6. 10進数から2進数への変換(16ビット)
- 7. JAVAの2進数から10進数への変換?
- 8. Cで商を使った10進数から2進数への変換
- 9. マイクロビットで10進数を2進数に変換する
- 10. 10進数を2進数に変換するC#関数を使用する
- 11. 16進数から10進数に変換
- 12. perl。 64ビットの2進数を10進数に変換する
- 13. 配列を使用して10進数から2進数に変換する
- 14. 16進数から10進数への変換
- 15. 10進数から16進数への変換
- 16. Androidの16進数から10進数への変換
- 17. 10進数から16進数への文字列の変換
- 18. VB.net 10進数から16進数への変換
- 19. 10進数から16進数への変換 - PowerShell 5
- 20. 10進整数を16進数に変換できますか?
- 21. Objective-C NSString変換のASCII 10進整数
- 22. 0と1 JAVA 2進数から10進数への変換とめくる
- 23. 混乱C++で16進数を2進数に変換する
- 24. 10進数からHH:MMへの変換
- 25. スウィフトで16進数を10進数に変換する
- 26. 負の小数の10進数を2進数に変換する方法
- 27. 2進数から10進数(巨大数)
- 28. C++ 10進数をバイナリに変換し、演算を使用してから10進数に戻します。
- 29. 16進数を10進数に正しく変換します
- 30. 16進数を10進数に変換するR
[このコードは、どうやら、について説明を必要としません]? ;) –