社区
C语言
帖子详情
请问下面代码这样做的目的是什么?
MorningTea
2006-07-13 02:11:55
DestXE是图象的宽度
SrcBpp即为系统内置的颜色位数
nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL);
请教大家,我看不懂,这个是在计算存放图片的内存大小时候用到,别人的代码
...全文
281
8
打赏
收藏
请问下面代码这样做的目的是什么?
DestXE是图象的宽度 SrcBpp即为系统内置的颜色位数 nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL); 请教大家,我看不懂,这个是在计算存放图片的内存大小时候用到,别人的代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MorningTea
2006-07-14
打赏
举报
回复
谢谢,明天加班我就认真看看:-)
ckp
2006-07-13
打赏
举报
回复
nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL);
+7再/8,相当于是将数据作8字节的对齐。
例如:
1,2,3,4,5,6,7,8,9,10
10个数,(10+7)/8以后,结果2。也就是说,10个数,正好可以填入2组8字节的内存单元。
+ 3L) & 0xFFFCL);
FFFC的二进制的最低4位为1100。
也就是说与FFFC按位进行与运算后,结果正好是4的整数倍。
MorningTea
2006-07-13
打赏
举报
回复
55,我还是不懂
我不明白要这样做?
就是为什么要+7 然后/8,为什么不其他呢?,还有后面为什么要如此计算呢?
ddstudent
2006-07-13
打赏
举报
回复
比如说 1 - 8 bit, 如 +7/8 全部 = 1 byte
比如说最后的 1-4 bytes, +3 再 &0xfffc 会从下一个 4bytes 的啟始点开始
jixingzhong
2006-07-13
打赏
举报
回复
+7 +3是对齐操作
=========
可能这么说会容易误解,
看这句话下面的解释吧, 呵呵
jixingzhong
2006-07-13
打赏
举报
回复
SrcBpp 是位数, 不是字节数,所以有一个 /8L (长整数)
+7 +3是对齐操作,
/8L 前+7 是防止非整字节位丢失,比如DestXE * SrcBpp 出来的位数不能被 8 整除,后面存在一些非整字节位,那么直接 /8L 会丢失这个部分, +7后 /8L 可以保留;
+3 在 & 0xFFFCL 之前是类似的效果 ...
MorningTea
2006-07-13
打赏
举报
回复
楼上说的我不懂,55
有没有简单例子解释给我看看,谢谢
ddstudent
2006-07-13
打赏
举报
回复
看起來看是做一些位置的排正 +7/8 , +3, 最后再 &0xfffc 就是边界为 4 的倍数
Robotframwork是什么?教你不用
代码
写自动化测试用例
什么是低
代码
(Low-Code)?
简介:什么是低
代码
?我们为什么需要低
代码
?低
代码
会让程序员失业吗?本文总结了低
代码
领域的基本概念、核心价值与行业现状,带你全面了解低
代码
。 阿里云 云原生应用研发平台EMAS 彭群(楚衡) 一、前言 如果...
什么是伪
代码
?如何编写伪
代码
?
它的
目的
是帮助程序员和其他相关人员理解算法或程序的逻辑流程,而不用拘泥于具体的编程语言细节。使用适当的控制结构和语法:在伪
代码
中使用适当的控制结构和语法来表示算法或程序的逻辑流程。通过编写清晰、简洁的...
什么是冒烟测试?什么是回归测试?
冒烟测的
目的
是什么 一、什么是冒烟测试? 冒烟测试(Smoke Testing)是指:针对每个版本或每次需求变更之后,在正式测试之前,对产品或系统的一次简单的验证性测试,验证产品或系统的“基本功能”流程是否正常。...
预处理器标识#error的
目的
是什么
下面
举个例子:程序中往往有很多的预处理指令#ifdef XXX...#else#endif当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章