位图点阵90度翻转算法

本文探讨了位图逆时针90度翻转的算法,通过查表法和位操作法进行比较。查表法虽然占用更多空间,但在理论上具有速度优势。文章提供了算法说明、测试环境、测试内容和结果,并指出在小点阵情况下,查表法相比位操作法有8倍左右的效率差距。附带源码链接和时间消耗统计。
摘要由CSDN通过智能技术生成

算法说明

    将原始位图点阵分割成8*8的小块,则该小块各种组合值恰好可以使用64位完全表示,即横向8个点可以使用一个字节表示,纵向8行则即8字节。

  • 对于逆时针旋转90°,源点阵第一行旋转后(一个字节),对应目标点阵的第一列(8个字节的第一位同时赋值),参见下图
  • 由此可以得出,对于每一行(1字节)都可以有一个64位的整型与之一一对应,对于不同行的点阵数据,只要在目标点阵数据做移位操作,就可以得到相应的翻转效果。
  • 逆时针旋转的表占用空间大小为:8 * 2^8 = 4096字节,同理顺时针旋转的表占用空间的大小为4096字节

        

    对于32位的CPU似乎直接使用64位的整型的话应该也是要拆分两次计算吧&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值