[Objective-c] Conversioni numeriche su iPhone

A differenza di Java ed altri linguaggi, Objective-C non ha un metodo per convertire da decimale a binario e viceversa, o almeno… io non l’ho trovato!

Ecco qui:

Conversione da decimale a binario:

[code lang=”java” autolinks=”false” collapse=”false” firstline=”1″ gutter=”true” htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”false”]- (NSString*) getBinary:(int)num {
int m, no = 0, a = 1, rem;
m = num;
while(num != 0)
{
rem = num % 2;
no  = no + rem * a;
num = num / 2;
a   = a * 10;
}

NSString *bin = [[NSString alloc] initWithFormat:@"%d", no];
return bin;
}[/code]

Conversione da binario a decimale:

[code lang=”java” autolinks=”false” collapse=”false” firstline=”1″ gutter=”true” htmlscript=”false” light=”false” padlinenumbers=”false” smarttabs=”true” tabsize=”4″ toolbar=”false”]- (NSString*) getDecimal:(NSString*)binary {
int d = 0;
NSString *a;
for(int i=0; i< [binary length]; i++)
{
a = [[NSString alloc] initWithFormat:@"%c",
[binary characterAtIndex:i]];
double r = pow(2, [binary length] – 1 – i);
d += ([a intValue] * r);
}

NSString *dec = [[NSString alloc] initWithFormat:@"%d", d];
return dec;
}[/code]

è tutto!

[ref -> albertopasca.it]

 

Alberto Pasca

Software engineer @ Pirelli & C. S.p.A. with a strong passion for mobile  development, security, and connected things.