A/B向上取整的方法

1.问题

A,B都是整数并且 A>1, B>1

求 ┌ A/B ┐ 即 A/B 的上取整。

当 A/B 整除,往上取整返回值 为 A/B。

当 不整除,返回值是 int(A/B) + 1

这个算法的一个应用:如果你有一个动态增长的缓冲区,增长的步长是 B,

某一次缓冲区申请的大小是 A,这个时候,就可以用这个算法,计算出缓冲区的一个合

适大小了,正好可以容纳A,并且不会过于得多,多余部分不会比B多。

2.方法

int( (A+B-1)/B )

3.HUNTON 的证明

上取整用UP表示

由于A>1、B>1,且A、B都是整数,所以可以设A=NB+M

其中N为非负整数,M为0到B-1的数,则

A/B = N + M/B

(A+B-1)/B = N + 1 + (M - 1)/B;

当M为0时,

UP(A/B) = N,

int((A+B-1)/B) = N + int(1 - 1/B) = N

当M为1到B-1的数时,0 <= M-1 <= B-2

UP(A/B) = N + 1,

int((A+B-1)/B) = N + 1 + int((M-1)/B) = N + 1

所以对A>1、B>1的整数A、B都有:

UP(A/B) = int((A+B-1)/B)

时间: 2024-10-25 00:52:29

A/B向上取整的方法的相关文章

JavaScript Math.ceil 方法(对数值向上取整)_基础知识

JavaScript Math.ceil 方法Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数.语法如下: Math.ceil(x) 参数说明: 参数 说明 x 必需.必须是一个数值. 提示:该方法与 Math.floor 方法正好相反. Math.ceil 方法实例 <script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />"

JS取模、取商及取整运算方法示例_javascript技巧

本文实例讲述了JS取模.取商及取整运算方法.分享给大家供大家参考,具体如下: JS代码: //求余数 document.write(1%4); document.write(6%4); //求商 console.info(1/4); console.info(6/4); //求商,取整 console.info(parseInt(1/4)); console.info(parseInt(6/4)); console.info('----'); //天花板取整 console.info(Math.

PHP四舍五入精确小数位及取整的方法

本篇文章将使用php对数字进行四舍五入保留N位小数,以及使用php对数字进行取整的方法做个小总结. (1)php保留三位小数并且四舍五入 $num=0.0215489; echo sprintf("%.3f", $num); // 0.022 (2)php保留三位小数不四舍五入 $num=0.0215489; echo substr(sprintf("%.4f", $num),0,-1); // 0.021 (3)php进一法取整数(这个在分页程序的页数程序里面会用

表达式:(n+m-1)/m——向上取整

 1.有m份,平均每份最少需要多大,才能放下n大小的数据?  2.有n大小的数据,一份最多存放m大小,那么最少需要多少份?      上面两个问题雷同,即表达式(n+m-1)/m的运算结果就是平均每份最少需要多大或者最少需要多少份;(m和n都是正整数) /*      分析:如果n除以m有余数,那么余数加上(m - 1),除以m,等于1,则结果是商值加1:              如果n除以m无余数,那么0加上(m - 1),除以m,等于0,则结果是商值. */

JavaScript中使用Math.floor()方法对数字取整_基础知识

 此方法返回比最大的整数小于或等于参数语法 Math.floor( x ) ; 下面是参数的详细信息:     x : 一个数字 返回值: 返回比最大的整数小于或等于一个数x例子: <html> <head> <title>JavaScript Math floor() Method</title> </head> <body> <script type="text/javascript"> var v

jquery向上向下取整适合分页查询_jquery

在用ajax进行分页查询时,分页的数目要用到取整函数 <script language="javascript"> var uu=Math.floor(5.36) //向下取整 结果为5 var uu=Math.floor(5.88) //结果为5 Math.ceil(5.33) //向上取整,结果为6 Math.round(5.55) //四舍五入 结果为6 math.round(5.22) //结果为5 </script> 以上是小编为您精心准备的的内容,在

SQL四舍五入、向下取整、向上取整函数介绍_数据库其它

round() 遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0) = 1;round(1.55,0)=2floor()向下取整 如:floor(1.45)= 1,floor(1.55) = 1 ,floor(-1.45)= -2 ,floor(-1.55) = -2ceiling()向上取整 如:ceiling(1.45) = 2,ceiling(1.55)=2,ceiling(-1.45) = -1,ceiling(-1.55)=-1

js取整数、取余数的方法_javascript技巧

1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1  Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整  Math.floor(5/2) Math 对象的方法FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IEabs(x) 返回数的绝对值 1 2 3acos(x) 返回数的反余弦值 1 2 3asin(x) 返回数的反正弦值 1 2 3ata

用javascript实现小数取整

JS: function truncateNumber(n){ return n|0; } 测试: console.log(truncateNumber(12.345)); 浏览器打印出12 查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/ 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript , 浏览器 , fun