OC中将十进制数字转为三十二进制方法

最近项目中对未登录用户昵称命名规则使用到了这一需求,之前没遇到到过,在网上找了下发现基本都是Java和C#或者C的,不过有十进制转十六进制的,所以拿来参考了下,直接写了个分类以供有需要的人参考或直接使用就行,代码如下:

.h

+ (NSString *)ToHex:(long long)convert;

.m

+ (NSString *)ToHex:(long long)convert

{

NSString * ruleValue;

NSString * string = @"";

long long temp;

for (int i = 0; i<9; i++)

{

temp = convert%32;

convert = convert/32;

switch (temp)

{

case 10:

ruleValue =@"A";break;

case 11:

ruleValue =@"B";break;

case 12:

ruleValue =@"C";break;

case 13:

ruleValue =@"D";break;

case 14:

ruleValue =@"E";break;

case 15:

ruleValue =@"F";break;

case 16:

ruleValue =@"G";break;

case 17:

ruleValue =@"H";break;

case 18:

ruleValue =@"I";break;

case 19:

ruleValue =@"J";break;

case 20:

ruleValue =@"K";break;

case 21:

ruleValue =@"L";break;

case 22:

ruleValue =@"M";break;

case 23:

ruleValue =@"N";break;

case 24:

ruleValue =@"O";break;

case 25:

ruleValue =@"P";break;

case 26:

ruleValue =@"Q";break;

case 27:

ruleValue =@"R";break;

case 28:

ruleValue =@"S";break;

case 29:

ruleValue =@"T";break;

case 30:

ruleValue =@"U";break;

case 31:

ruleValue =@"V";break;

default:

ruleValue = [NSString stringWithFormat:@"%lld",temp];

}

string = [ruleValue stringByAppendingString:string];

if (convert == 0)

{

break;

}

}

return string;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,790评论 0 33
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,176评论 0 41
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,506评论 1 42
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,169评论 19 139
  • 路由优先级在不同协议时候,比较preference的大小,而在路由协议相同时由于preference相同,再比较m...
    秋叶文风阅读 643评论 0 0