iOS 内存字节对齐

iOS 内存字节对齐

记录下苹果实现内存字节对齐的代码如下:

#ifdef __LP64__
# define WORD_SHIFT 3UL
# define WORD_MASK 7UL
# define WORD_BITS 64
#else
# define WORD_SHIFT 2UL
# define WORD_MASK 3UL
# define WORD_BITS 32
#endif

static inline uint32_t word_align(uint32_t x) {
    return (x + WORD_MASK) & ~WORD_MASK;
}
复制代码

对比记录不同方案:

    func word_align(x: UInt32) -> UInt32 {
//        return (x + 7) / 8 * 8      //方案1,相对位运算效率要低
//        return ((x + 7) >> 3) << 3  //方案2,通过右移左移,低三位清0
        return (x + 7) & (~7)         //苹果方案,另一种低三位清0方式
    }
复制代码

转载于:https://juejin.im/post/5cd78f11f265da03b2044dca

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100931.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • LeetCode——Remove Element

    LeetCode——Remove Element

  • w7设置双显示器_4K+144Hz 支持FreeSync Acer XV273K显示器评测

    w7设置双显示器_4K+144Hz 支持FreeSync Acer XV273K显示器评测2018年末,AMD宣布旗下FreeSync技术正式升级为RadeonFreeSync2HDR技术,带来了亮度、对比度、层次感更加完美的游戏画面,尤其是针对HDR游戏。而在随后的CES2019上,NVIDIA对G-Sync进行了重新分级,其中G-SyncCompatible标准正式开启FreeSync显示器兼容模式。两大“劲敌”的一系列动作意味着,未来FreeSync显示器或将成为更多游…

  • Java接口是什么意思_JAVA接口

    Java接口是什么意思_JAVA接口下看下接口定义@FunctionalInterfacepublicinterfaceSupplier<T>{/***Getsaresult.**@returnaresult*/Tget();}supplier英[səˈplaɪə(r)]美[səˈplaɪər]…

    2022年10月23日
  • 黎曼猜想和素数分布的关系_黎曼公式和素数的关系

    黎曼猜想和素数分布的关系_黎曼公式和素数的关系自然数简化到素数:黎曼猜想RiemannHypothesis及其解释(公号回复“黎曼猜想”下载PDF经典收藏版彩标资料)原创:秦陇纪数据简化DataSimp今天数据简化DataSimp导读:科学大院《黎曼猜想RiemannHypothesis简介》来自黄逸文(中国科学院数学与系统科学研究院),介绍了黎曼猜想RiemannHypothesis大概。知乎译文《黎曼猜想Riemann…

  • python zipfile.zipfile_python解析json文件

    python zipfile.zipfile_python解析json文件从简单的角度来看的话,zip格式会是个不错的选择,而且python对zip格式的支持够简单,够好用。1)简单应用如果你仅仅是希望用python来做压缩和解压缩,那么就不用去翻文档了,这里提供一个简单的用法,让你一看就能明白。importzipfilef=zipfile.ZipFile(‘filename.zip’,’w’,zipfile.ZIP_DEFLATED)f.write(‘fil…

  • OpenCv结构和内容

    OpenCv的结构和内容OpenCv源码组成结构其中包括cv,cvauex,cxcore,highgui,ml这5个模块CV:图像处理和视觉算法MLL:统计分类器HighGui:GUI

    2021年12月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号