objective-c - OC中怎樣將十六進位轉換為十進位
为情所困
为情所困 2017-04-28 09:06:19
0
1
1115

怎樣將十六進制數轉換為十進制數啊

为情所困
为情所困

全部回覆(1)
黄舟

自訂轉換方法的原理:

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方.
假设有一个十六进数 2AF5,那么如何换算成10进制呢?
用竖式计算:2AF5换算成10进制:
第0位:5 * 16^0 = 5
第1位:F * 16^1 = 240
第2位:A * 16^2 = 2560
第3位:2 * 16^3 = 8192 +

C函數提供的方法:

iOS 十六进制字符串 转 十进制

UInt64 mac1 =  strtoul([@"abcd1234" UTF8String], 0, 16);

如果在有溢出,使用下面方法:    

unsigned long long result = 0;
    NSScanner *scanner = [NSScanner scannerWithString:@"abcd12345678"];
    [scanner scanHexLongLong:&result];
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!