美文网首页iOS开发iOS 细节大集合iOS资料库
iOS NSEC_PER_SEC、NSEC_PER_MSEC宏定

iOS NSEC_PER_SEC、NSEC_PER_MSEC宏定

作者: Steven_2016 | 来源:发表于2018-07-23 18:16 被阅读890次

在使用dispatch_after函数时:

dispatch_after(dispatch_time_t when,
    dispatch_queue_t queue,
    dispatch_block_t block);

常常会这样创建时间参数:

    dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, 3ull * NSEC_PER_SEC);

其中:ull 是C语言的数值字面量,是显式表明类型时使用的字符串(表示 ”unsigned long long “)
点进宏定义 USEC_PER_SEC :看到很多宏定义,在网上找了一下,感觉解释的怪怪的。索性自己解释一番

  • SEC   秒
  • PER   每
  • NSEC 纳秒
  • MSEC 毫秒
  • USEC 微秒
#define NSEC_PER_SEC 1000000000ull     多少纳秒 = 1秒            1秒 = 10亿纳秒              
#define NSEC_PER_MSEC 1000000ull       多少纳秒 = 1毫秒          1毫秒 = 100万纳秒
#define USEC_PER_SEC 1000000ull        多少微秒 = 1秒            1秒 = 100万微秒   
#define NSEC_PER_USEC 1000ull          多少纳秒 = 1微秒           1微秒 = 1000 纳秒

第三行需要注意一下:
按照道理来讲,第三行的单位应该是微秒,如果继续换算成纳秒,还需要再乘以103才对。但是既然没有乘,大家在使用的时候就要注意,此宏虽表征微秒与秒的单位换算,但实际代表的时间是以纳秒来计算的。因此,但从计算来讲,只表示1毫秒哦。

最后科普下 秒单位的换算:(手动敲黑板:Duang、Duang、Duang)

1s=103ms(毫秒)
=106μs(微秒)
=109ns(纳秒)
=1012ps(皮秒)
=1015fs(飞秒)
=1018as(阿秒)
=1021zm(仄秒)
=1024ym(幺秒)

如果喜欢此博文,欢迎小伙伴简书点赞哦~

相关文章

  • iOS NSEC_PER_SEC、NSEC_PER_MSEC宏定

    在使用dispatch_after函数时: 常常会这样创建时间参数: 其中:ull 是C语言的数值字面量,是显式表...

  • 延时操作

    延时操作 NSEC_PER_MSEC:毫秒NSEC_PER_SEC:秒dispatch_after(dispatc...

  • IOS NSLog宏定义

    IOS NSLog宏定义 标签(空格分隔): IOS IOS NSLog宏定义 宏定义NSLog方法,不用加";"...

  • iOS- #define、static 、const 和 ext

    #define、static、const 、exten 是写在iOS 应用中常用的几个关键字 #define 宏定...

  • iOS const、宏、static、extern的关系

    iOS const、宏、static、extern的关系 iOS const、宏、static、extern的关系

  • IOS宏用法

    iOS宏的经典用法Apple的习惯attribute iOS宏的经典用法1.常量宏、表达式宏 define kTa...

  • iOS开发中常用宏,提升效率

    ios常用宏

  • iOS开发中常用的宏

    以下为iOS开发中常用宏: 引用:ios开发常用的宏,大家一起来收集 参考:ios开发常用的宏,大家一起来收集~

  • iOS 宏定义

    初学ios不久时间,对ios的宏定义充满好奇,宏的各种高级用法让ios代码变得优雅,那么宏究竟是什么,让我来花时间...

  • 时间单位

    表示3秒 (3 * NSEC_PER_SEC 纳秒)。 SEC (second) 秒 ...

网友评论

    本文标题:iOS NSEC_PER_SEC、NSEC_PER_MSEC宏定

    本文链接:https://www.haomeiwen.com/subject/yobjmftx.html