문자열에 이진 시퀀스가 있습니다. 십진수로 변환하는 방법. Objective C에 내장 함수가 있습니까?목표 C에서 이진수를 십진수로 변환
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
그들은 이제 목표 - 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. 반복되는 이진수를 십진수로 변환 (일련으로 표현)
- 2. 목표 C에서 NSMutableString을 NSUrl로 변환
- 3. C에서 십진수로 안전하게 변환하는 방법 #
- 4. 'null'varchar를 십진수로 변환
- 5. 로마자에서 십진수로 변환
- 6. 큐브에서 문자열을 십진수로 변환
- 7. C : 바이너리를 십진수로 변환
- 8. _wtol을 사용하여 십진수로 변환
- 9. 목표 C에서 문자열로 더블을 변환 할 때
- 10. 이진수를 십진수로 변환하는 재귀 함수를 작성하는 방법은 무엇입니까?
- 11. 목표 - C 질문 목표 - C에서
- 12. 단순히 목표 - C에서 목표 - C
- 13. 문자열을 파이썬에서 십진수로 정수로 변환
- 14. 자바 - 부울 []을 십진수로 변환
- 15. 뭐야 !! 목표 -C에서 의미가있다.
- 16. 목표 C에서 메시지 전달
- 17. 객체는 목표 C에서
- 18. 이 목표 - C에서
- 19. 목표 C에서 'dll'만들기
- 20. 목표 C에서 NSXMLParserErrorDomain?
- 21. 목표 C에서 UIGraphicsBeginImageContext 질문
- 22. C에서 시간대 변환
- 23. SQL Server 2008에서 varchar를 십진수로 변환
- 24. 목표 C에서 숨겨진 상수가 크다
- 25. 목표 C에서 음수 분수 계산
- 26. 목표 C에서 "->"란 무엇입니까?
- 27. 목표 C에서 복합 오브젝트 구성?
- 28. 어떻게 기능 - 목표 C C에서
- 29. 목표 - C에서 자바의 setFilterBitmap에 해당
- 30. 목표 C에서 카테고리는 어떻게 구현됩니까?
[이 코드는 분명히 더 explaination를 필요로하지 않는다] ?? ;) –