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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3DE平台基础_系统架构师多少分过

    3DE平台基础_系统架构师多少分过3DE平台系统架构

    2022年8月5日
    12
  • Python标准库 (pickle包,cPickle包)

    Python标准库 (pickle包,cPickle包)在之前对Python对象的介绍中(面向对象的基本概念,面向对象的进一步拓展),我提到过Python“一切皆对象”的哲学,在Python中,无论是变量还是函数,都是一个对象。当Python运行时,对象存储在内存中,随时等待系统的调用。然而,内存里的数据会随着计算机关机和消失,如何将对象保存到文件,并储存在硬盘上呢? 计算机的内存中存储的是二进制的序列(当然,在Linux眼中,是文本流)。我们…

    2022年4月20日
    35
  • IDEA中Maven依赖下载失败解决方案[通俗易懂]

    使用IDEA进行Maven项目开发时,时不时会遇到pom.xml报错的情况,其中很大概率是因为Maven依赖的jar包下载失败,找来找去也没有找到是什么问题,困扰了很多程序猿,这里给出IDEA中Maven依赖下载失败解决方案,给大家参考,实测有用。首先检查网络有没有问题,确定网络没有问题,请看下一步多次点击重新导入Maven依赖的按钮重新导入Maven依赖有两种方式,如上图所示。如果多…

    2022年4月16日
    127
  • 28.多表查询——跨关联关系的多表查询

    28.多表查询——跨关联关系的多表查询多表查询—跨关联关系的查询**Django提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:**上实战训练——更直观理解:(得到的都是QuerySet型数据!)fromdjango.httpimportHttpResponsefrom.modelsimportDepartment,Student,Course,Stu_detaildefadd_u

    2022年5月31日
    45
  • java XML转JSON格式

    java XML转JSON格式代码如下所示importjava.io.ByteArrayInputStream;importjava.io.File;importjava.io.InputStream;importjava.util.HashMap;importjava.util.LinkedList;importjava.util.List;importjava.util.Map

    2022年7月21日
    13
  • loadrunner使用教程_loadrunner参数化设置

    loadrunner使用教程_loadrunner参数化设置[url=http://www.zhubajie.com/task/?welcome=1523583]有困难,找猪八戒[/url]方便以后查用[url=http://www.zhubajie.com/task/?welcome=1523583]有困难,找猪八戒[/url]

    2022年10月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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