`
king_c
  • 浏览: 223585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

向上取整

阅读更多

 

假设变量x和n是两个正整数,我们知道x/n这个表达式的结果是取Floor,例如x是17,n是4,则结果是4。如果希望结果取Ceiling应该怎么写表达式呢?例如x是17,n是4,则结果是5,而x是16,n是4,则结果是4。

#include <stdio.h>

int main()
{
    int x,n;

    printf("请输入数字:x n\n");
    scanf("%d %d",&x,&n);
    printf("x/n 向上取整的结果:%d\n",(x+n-1)/n);//或 x/n+(x%n!=0)
    return 0;
}

位图操作函数WIDTHBYTES  

 

一、定义

#define   WIDTHBYTES(bits)         (((bits)   +   31)   /   32   *   4);

计算图像每行象素所占的字节数目,设置成4的整数倍

//=(((bits)   +   31)   / 8)

//=((( biWidth* biBitCount) + 31) / 8)

二、参数说明:

bits:一个btmap中一行像素的位数总和。

 

bits:=biWidth* biBitCount;

biWidth:像素个数

biBitCount:一个像素所占的位数

当biBitCount=1时,8个像素占1个字节;

当biBitCount=4时,2个像素占1个字节;

当biBitCount=8时,1个像素占1个字节;

当biBitCount=24时,1个像素占3个字节

也就是一个像素占biBitCount/8个字节

三、实例:

对于2色图,如果图象宽是31,则每一行需要31位存储,合3个字节加7位,因为字节数必须是4的整倍数,所以应该是4,而此时的 biWidth=31, biBitCount=1, WIDTHBYTES(31*1)=4,和我们设想的一样。

举一个256色的例子,如果图象宽是31,则每一行需要31个字节存储,因为字节数必须是4的整倍数,所以应该是32,而此时的biWidth=31, biBitCount=8, WIDTHBYTES(31*8)=32。  

四、相关知识说明

1.将图像文件宽度设置成4的整数倍,只有bmp格式要求采用,其他格式的图像并不要求是4的倍数。

2.bmp格式采用这一做法,我想是为了考虑访问的速度。从文件读出图像数据时,一次读4个字节比一次读1个字节快。但如果图像文件不是4的倍数时,每行最后的像素就不可能[注]采用一次读4个字节(否则就会把下一行的像素也读出)。   当然,你仍然可以读出的4字节来,但必须处理:将其中几个字节放在本行,而其余的显示到下一行.   但显然这很不方便,要影响速度。

3. 位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是左到右,扫描行之间是从下到上。Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充

 

分享到:
评论

相关推荐

    向上取整和向下取整函数 C

    在C和C++编程语言中,向上取整和向下取整是常见的数学操作,尤其是在处理整数和边界问题时。这两个操作通常通过特定的函数来实现,如`ceil`和`floor`。`ceil`函数用于将任何数值向上取整到最接近的整数,而`floor`...

    JavaScript Math.ceil 方法(对数值向上取整)

    其中x是需要进行向上取整操作的数值,roundedValue是结果,即大于或等于x的最小整数。如果x已经是一个整数,则不会进行任何舍入操作,直接返回x。 需要注意的是,Math.ceil()仅接受数值作为参数。如果传入的是一个...

    SQL四舍五入、向下取整、向上取整函数介绍

    在SQL中,对数字进行四舍五入、向下取整和向上取整是常见的操作,这些功能对于数据处理和分析至关重要。以下将详细介绍这三种函数的使用方法。 首先,我们来了解一下四舍五入的函数——`ROUND()`。`ROUND()`函数在...

    《研发日记,Matlab/Simulink避坑指南(三)-向上取整Bug》Demo工程

    要求是原始数据相邻四个合并在一起,在这个算法中需要对原始可变数组的lengh除4后向上取整。算法的思路是,length对4整除,除不尽的加1。该算法出现了整除多一的Bug,对其排查和优化。Demo工程如上。

    PowerBuilder函数大全

    - `Ceiling()`:向上取整。 - `Floor()`:向下取整。 - `Sgn()`:返回数值的正负号。 4. **日期和时间函数** - `Date()`:获取当前日期。 - `Time()`:获取当前时间。 - `DateTime()`:获取当前日期时间。 -...

    python ceiling divide 除法向上取整(或小数向上取整)的实例

    向上取整的方法: 方法1: items = 102 boxsize = 10 num_boxes = (items + boxsize - 1) // boxsize 方法2: &gt;&gt;&gt; -(-102 // 10) 11 方法3(浮点数向上取整): from math import ceil print(ceil(10.3)) 11 或 ...

    lotus domino 开发资料 除法

    1. **向上取整**:如果需要将一个数值向上取整至最接近的整数,可以使用`Ceiling`函数。 - 示例代码: ```vb Dim a As Double a = 4.23 MsgBox Ceiling(a) ``` 输出结果为`5`,因为4.23向上取整后的结果为5。...

    java 使用取整函数

    对于正数,它会向上取整;对于负数,它会向下取整。 ```java double num = 3.2; int result = (int) Math.ceil(num); // result will be 4 double num2 = -2.8; int result2 = (int) Math.ceil(num2); // result2 ...

    DB2数值函数简介及使用

    2、向上取整:ceil、ceiling 3、向下取整数:floor 4、求M的n次幂:power(M,n) 5、随机数:rand(m)函数 6、四舍五入:round (m,n) 7、将数值转换为字符串形式:digits()函数 8、转换为数值:to_number(string,format...

    java数值取整及保留两位小数

    java技术,对象操作:数值取整和保留两位小数,将数值转换成字符串。

    python对一个数向上取整的实例方法

    本文将深入探讨Python中对一个数向上取整的方法,并介绍其他几种常见的取整方式。 首先,Python中向上取整通常使用`math`模块中的`ceil()`函数。`math.ceil()`函数会返回大于或等于给定数的最小整数。例如: ```...

    第六章_作业参考答案1

    因此,位示图需要的字数为500除以32,向上取整,得到16个字。第i字的第j位对应的块号可以通过公式N=32×i+j计算得出。 在文件系统中,访问文件数据时可能涉及直接寻址、一次间接寻址、二次间接寻址、三次间接寻址等...

    23-39Excel如何对小数向上取整?.avi

    word+excel+ppt,使用技巧视频教程,解决你93.5%的办公应用需求

    VB6.0显示当前日期时间,取绝对值,取整等例子.VB标准函数源代码.

    VB6.0显示当前日期时间,取绝对值,取整等例子.VB标准函数源代码. Print Abs(-12) Print Int(1.23) '取整 Print Int(-1234.56) '取整 Print Date '当前日期 Print Time '当前时间

    Python中取整的几种方法小结

    取整的方式则包括向下取整、四舍五入、向上取整等等。下面就来看看在Python中取整的几种方法吧。 1、向下取整 向下取整直接用内建的 int() 函数即可: &gt;&gt;&gt; a = 3.75 &gt;&gt;&gt; int(a) 3 2、四舍五入 对数字进行四舍五入...

    【delphi_文章】delphi的取整函数round、trunc、ceil和floor.doc

    Delphi 取整函数详解 Delphi programming language 提供了四种取整函数:Round、Trunc、Ceil 和 Floor,每种函数都有其特点和应用场景。 Round 函数 Round 函数是 Delphi 中最常用的取整函数,它对一个实数进行四...

    C#编程实现四舍五入、向上及下取整的方法

    本文将详细探讨如何实现四舍五入、向上取整和向下取整的方法。C#提供了内置的`Math`类,其中包含了一些用于数学运算的静态方法,包括取整操作。 首先,我们来看C#的`Math.Round`方法。这是一个非常方便的函数,可以...

Global site tag (gtag.js) - Google Analytics