diff --git a/Ifish/Utinitys/dataUnity/dataContorl.h b/Ifish/Utinitys/dataUnity/dataContorl.h
index ba2ed4c..c6e2362 100644
--- a/Ifish/Utinitys/dataUnity/dataContorl.h
+++ b/Ifish/Utinitys/dataUnity/dataContorl.h
@@ -15,10 +15,13 @@
+(NSString *)ToHex:(long long int)tmpid;
/// 十进制转二进制,补全,截取特定位置
/// @param decimal 十进制
-/// @param location 截取位数从末尾开始1,2,3...
+/// @param location 截取位数从为开始0,1,2,3
/// @param totalLength 补全位数,例如8位,4位,传0不会处理
-+ (NSString *)getBinaryByDecimal:(NSInteger)decimal location:(NSInteger)location totalLength:(NSInteger)totalLength;
-
++ (NSString *)getBinaryByHex:(NSString*)decimal location:(NSInteger)location;
+//+ (NSString *)getBinaryByDecimal:(NSInteger)num;
++ (NSString *)getBinaryByHex:(NSString *)hex;
++ (NSString *)getHexByBinary:(NSString *)binary;
+//+ (NSString *)convertDecimalSystemFromBinarySystem:(NSString *)binary;
+(UInt64)hexToTen:(NSString*)str;
+(NSString *)groupNumberTohex:(NSInteger)number;
+(NSString *)stringFromHexString:(NSString *)hexString;
diff --git a/Ifish/Utinitys/dataUnity/dataContorl.m b/Ifish/Utinitys/dataUnity/dataContorl.m
index 15b11d8..1a160e7 100644
--- a/Ifish/Utinitys/dataUnity/dataContorl.m
+++ b/Ifish/Utinitys/dataUnity/dataContorl.m
@@ -109,36 +109,14 @@
}
return str;
}
-+ (NSString *)getBinaryByDecimal:(NSInteger)decimal location:(NSInteger)location totalLength:(NSInteger)totalLength {
- NSString *binary = @"";
- if (decimal != 0) {
- while (decimal) {
- binary = [[NSString stringWithFormat:@"%ld", decimal % 2] stringByAppendingString:binary];
- if (decimal / 2 < 1) {
- break;
- }
- decimal = decimal / 2 ;
- }
- // 根据需求传位数
- if (totalLength > 0) {
- if (binary.length % totalLength != 0) {
- NSMutableString *mStr = [[NSMutableString alloc]init];
- for (int i = 0; i < totalLength - binary.length % totalLength; i++) {
- [mStr appendString:@"0"];
- }
- binary = [mStr stringByAppendingString:binary];
- }
- }
- // 保护
- if (binary.length > 0 && binary.length >= location) {
- // 截取特定位置的二进制字符
- binary = [binary substringWithRange:NSMakeRange(binary.length-location, 1)];
- } else {
- binary = @"0";
- }
- } else {
- binary = @"0";
++ (NSString *)getBinaryByHex:(NSString*)hex location:(NSInteger)location {
+ NSString *binary = @"0";
+ NSString*allBinary=[dataContorl getBinaryByHex:hex];
+
+ if (allBinary.length>=(location+1)) {
+ binary=[allBinary substringWithRange:NSMakeRange(location, 1)];
}
+
return binary;
}
/// 1 - 10组
@@ -201,6 +179,138 @@
return mac1;
}
+/**
+ 转化为十进制
+
+ @param binary 二进制的数据
+ @return 数据结果
+ */
++ (NSString *)convertDecimalSystemFromBinarySystem:(NSString *)binary
+{
+ NSInteger ll = 0 ;
+ NSInteger temp = 0 ;
+ for (NSInteger i = 0; i < binary.length; i ++){
+
+ temp = [[binary substringWithRange:NSMakeRange(i, 1)] intValue];
+ temp = temp * powf(2, binary.length - i - 1);
+ ll += temp;
+ }
+
+ NSString * result = [NSString stringWithFormat:@"%ld",ll];
+
+ return result;
+}
+/**
+ 转化为二进制
+
+ @param decimal 十进制的数据
+ @return 二进制的结果
+ */
++ (NSString *)getBinaryByDecimal:(NSInteger)decimal {
+ NSString *binary = @"";
+ while (decimal) {
+ binary = [[NSString stringWithFormat:@"%ld", (long)decimal % 2] stringByAppendingString:binary];
+ if (decimal / 2 < 1) {
+ break;
+ }
+ decimal = decimal / 2 ;
+ }
+ if (binary.length % 4 != 0) {
+ NSMutableString *mStr = [[NSMutableString alloc]init];;
+ for (int i = 0; i < 4 - binary.length % 4; i++) {
+ [mStr appendString:@"0"];
+ }
+ binary = [mStr stringByAppendingString:binary];
+ }
+ return binary;
+}
+
+/**
+ 二进制转换成十六进制
+
+ @param binary 二进制数
+ @return 十六进制数
+ */
++ (NSString *)getHexByBinary:(NSString *)binary {
+
+ NSMutableDictionary *binaryDic = [[NSMutableDictionary alloc] initWithCapacity:16];
+ [binaryDic setObject:@"0" forKey:@"0000"];
+ [binaryDic setObject:@"1" forKey:@"0001"];
+ [binaryDic setObject:@"2" forKey:@"0010"];
+ [binaryDic setObject:@"3" forKey:@"0011"];
+ [binaryDic setObject:@"4" forKey:@"0100"];
+ [binaryDic setObject:@"5" forKey:@"0101"];
+ [binaryDic setObject:@"6" forKey:@"0110"];
+ [binaryDic setObject:@"7" forKey:@"0111"];
+ [binaryDic setObject:@"8" forKey:@"1000"];
+ [binaryDic setObject:@"9" forKey:@"1001"];
+ [binaryDic setObject:@"A" forKey:@"1010"];
+ [binaryDic setObject:@"B" forKey:@"1011"];
+ [binaryDic setObject:@"C" forKey:@"1100"];
+ [binaryDic setObject:@"D" forKey:@"1101"];
+ [binaryDic setObject:@"E" forKey:@"1110"];
+ [binaryDic setObject:@"F" forKey:@"1111"];
+
+ if (binary.length % 4 != 0) {
+
+ NSMutableString *mStr = [[NSMutableString alloc]init];;
+ for (int i = 0; i < 4 - binary.length % 4; i++) {
+
+ [mStr appendString:@"0"];
+ }
+ binary = [mStr stringByAppendingString:binary];
+ }
+ NSString *hex = @"";
+ for (int i=0; i
-