Ios 转换为二进制-长整数
我们需要将以下数据类型转换为二进制:Ios 转换为二进制-长整数,ios,objective-c,cocoa,binary,Ios,Objective C,Cocoa,Binary,我们需要将以下数据类型转换为二进制: 长到二进制 将整数转换为二进制 在此方面的任何帮助都将不胜感激 我的密码是: 根据以上链接,我们有 - (NSString *) longlongToBinary:(long long) val { long long num = val; NSString *res = [NSString string]; for (long long i=63; i>=0; i--) { long long div = 1l<<i;
- (NSString *) longlongToBinary:(long long) val {
long long num = val;
NSString *res = [NSString string];
for (long long i=63; i>=0; i--)
{
long long div = 1l<<i;
if ((num&div)==div) res = [res stringByAppendingString:@"1"];
else res = [res stringByAppendingString:@"0"];
}
return res;
-(NSString*)longlongtobilian:(long-long)val{
long-long-num=val;
NSString*res=[NSString];
对于(长i=63;i>=0;i--)
{
long long div=1llong
仅为32位。由于该方法名为longlongToBinary
,请将所有long
变量更改为long
。这将提供您正在使用的64位
现在您已经将大多数变量更改为long
,将循环变量i
更改回int
,并将1l
常量更改为1ll
long
仅为32位。由于该方法名为longlongtobilian
,因此将所有long
变量更改为ode>long-long
。这将提供您正在使用的64位
现在您已经将大多数变量更改为
long
,将循环变量i
更改回int
,并将1l
常量更改为1ll
文本1l
仍然很长。这就是为什么您会看到两次输出。将文本更改为1l
文本1l
仍然只有很长。这就是为什么您会看到两次输出。将文本更改为1l
您只使用long
,而不是long
…不应该1l
是1l
?是的,这就解决了问题。谢谢你只是一个提示,你没有转换,你正在格式化。你只使用long
,不是long long
…不应该1l
是1l
?是的,这就解决了问题。谢谢你只是一个注释,你不是在转换,你是在格式化。我刚刚更改了它,但问题仍然是一样的。我刚刚更改了它,但问题仍然是一样的。