使用String的format方法,把UInt8转成hex,使用02表示2位,不足补0。
extension Array where Element == UInt8 {
var hexString: String {
return self.compactMap { String(format: "%02x", $0).uppercased() }
.joined(separator: "")
//int 转16进制
- (NSString *)hexFromInt:(NSInteger)val {
return [NSString stringWithFormat:@"%X"...
纯C语言实现进制之间的输入转换输出,下附代码只是实现了数据的显示,若要更改使其返回转换后的数值也是比较容易的。个人感觉C++编写会更加容易一些,烦请读者自己更改。其中有部分繁琐冗杂的地方还请大家见谅Orz
核心思想:
1)求模取余法实现十进制对其他进制的转换
2)通过字符数组存储要转换的二/八/十六进制数据,再逐位存储到整型数组当中
3)通过位数与幂的关系完成对十进制的转换
iOS15字符串格式化缺0补0的写法
-(NSString *)strWithTime:(NSTimeInterval )time {
int minuties = time / 60;
int secound = (int) time % 60;
return [NSString stringWithFormat:@"%02d : %d",minuties,secound];
格式化 歌曲的时间长度的时候, 对于分钟 除出来,不是2位数,一般是10分钟以内的歌曲,做的好,前
在C语言中,可以使用printf函数,利用格式化输出功能将uint8_t类型的数组以16进制形式输出。是一个格式化字符串,用于输出一个uint8_t类型的16进制数,表示如果输出的16进制数只有一位,那么前面将用0填充,表示输出的16进制数总宽度为2,不足的用0填充,表示以大写形式输出16进制数。