社区
C语言
帖子详情
请问下面代码这样做的目的是什么?
MorningTea
2006-07-13 02:11:55
DestXE是图象的宽度
SrcBpp即为系统内置的颜色位数
nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL);
请教大家,我看不懂,这个是在计算存放图片的内存大小时候用到,别人的代码
...全文
294
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 的倍数
预处理器标识#error的
目的
是什么
下面
举个例子:程序中往往有很多的预处理指令#ifdef XXX...#else#endif当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成...
低
代码
是什么?有什么优势
通过简单的拖拉拽操作,而不用编写复杂的
代码
,实现少写
代码
或者不写
代码
,就能快速高效完成业务目标。01 低
代码
平台演进1. 低
代码
概念低
代码
是无需编码(0
代码
)或通过少量
代码
就可以快速生成应用程序的开发平台。...
什么是BPM?BPM与低
代码
平台的关系
低
代码
平台也是一种业务流程的开发工具,很多人都会问BPM与低
代码
有什么关系吗?
下面
一起来了解一下相关的知识吧! 什么是BPM: BPM的标准定义为业务流程管理,是一种通过规范化、流程化来构建端到端的业务流程...
什么是
代码
?
代码
就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散...现代程序语言中,源
代码
可以书籍或磁带形式出现,但最为常用格式是文本文件,这种典型格式的
目的
是为了编译出计算机程序。
编写程序的
目的
?为什么要学习编程
在我看来,我们写程序的
目的
就是去解决一些我们日常生活中的问题, 由于我们大脑处理信息能力的速度有时会比电脑慢,所以我们写一段
代码
来教计算机去怎么处理这些信息,最后去输出我们想要的结果。 而中间具体...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章