社区
C语言
帖子详情
请问下面代码这样做的目的是什么?
MorningTea
2006-07-13 02:11:55
DestXE是图象的宽度
SrcBpp即为系统内置的颜色位数
nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL);
请教大家,我看不懂,这个是在计算存放图片的内存大小时候用到,别人的代码
...全文
286
8
打赏
收藏
请问下面代码这样做的目的是什么?
DestXE是图象的宽度 SrcBpp即为系统内置的颜色位数 nDstLineBytes = (int) ((( (DWORD) DestXE * SrcBpp + 7L) / 8L + 3L) & 0xFFFCL); 请教大家,我看不懂,这个是在计算存放图片的内存大小时候用到,别人的代码
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 的倍数
什么是伪
代码
?如何编写伪
代码
?
它的
目的
是帮助程序员和其他相关人员理解算法或程序的逻辑流程,而不用拘泥于具体的编程语言细节。使用适当的控制结构和语法:在伪
代码
中使用适当的控制结构和语法来表示算法或程序的逻辑流程。通过编写清晰、简洁的伪
代码
,可以帮助程序员和其他人员更好地理解和交流算法或程序的设计和实现。避免使用具体的编程语言特定的语法和细节,而是侧重于算法或程序的核心思想。添加注释和说明:为了增加伪
代码
的可读性和理解性,可以添加注释和说明来解释每个步骤的作用和意图。确定算法或程序的目标:首先,明确你想要实现的算法或程序的目标和功能。
代码
审查“查”什么?
让我们来谈谈
代码
审查(Code Review)。如果花几秒钟去搜索有关内容,你会发现许多论述
代码
审查好处的文章(例如,Jeff Atwood的这篇文章)。你还会发现许多介绍如何使用
代码
审查工具的文档,比如我们常用的Upsource。但能够在你审查他人
代码
时指导查什么的内容却很少见。 或许没有明确审查条
目的
原因是:有太多不同的因素需要考虑。就像对任何(功能性或非功能性)需求,个体组织对各个方面的优
什么是冒烟测试?什么是回归测试?
知识点一: 什么是冒烟测试?冒烟测的
目的
是什么 一、什么是冒烟测试? 冒烟测试(Smoke Testing)是指:针对每个版本或每次需求变更之后,在正式测试之前,对产品或系统的一次简单的验证性测试,验证产品或系统的“基本功能”流程是否正常。(我们可以将冒烟测试理解为是在执行正式测试之前的“预测试”,) 二、冒烟测试的
目的
是什么?
目的
是确认软件的基本功能正常,可以进行后续的正式测试工作。 (如果冒烟测试不能通过,则不必执行
下面
的测试) 知识点二: 什么是回归测试?回归测试的
目的
、流程是什么? 一、什么是回归
预处理器标识#error的
目的
是什么
编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其
目的
就是保证程序是按照你所设想的那样进行编译的。
下面
举个例子:程序中往往有很多的预处理指令#ifdef XXX...#else#endif当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:#ifdef...
低
代码
是什么?有什么优势
通过简单的拖拉拽操作,而不用编写复杂的
代码
,实现少写
代码
或者不写
代码
,就能快速高效完成业务目标。01 低
代码
平台演进1. 低
代码
概念低
代码
是无需编码(0
代码
)或通过少量
代码
就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。2. 低
代码
衍生历程20 ...
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章