如何用C语言编写一个函数实现向上取整的算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计881个文字,预计阅读时间需要4分钟。
目录:C语言向上取整技巧
C语言向上取整的一点技巧:使用整数N除以M,要求向上取整,可以使用以下公式:int n=(N + M - 1) / M;
简化后就是:int n=(N - 1) / M + 1; 或者int n=N / M;
目录
- c语言向上取整计算
- c语言向上取整的一点技巧
c语言向上取整计算
用整数N 除以 M,要求向上取整数
int n = (N + M -1) / M ;
简化后就是:
int n= (N - 1) / M +1;
最笨的办法
int n = N / M + ((N % M != 0) ? 1 : 0 )
c语言向上取整的一点技巧
做底层或者说驱动开发时,经常会遇到一些硬件限制,比如 STM32 有些寄存器要求 16 bit 访问、32 bit 访问,否则可能引发 Hardfault 中断;再比如擦除 flash 扇区时,会要求整块擦除。这些都是硬件决定的,必须这样做。
本文共计881个文字,预计阅读时间需要4分钟。
目录:C语言向上取整技巧
C语言向上取整的一点技巧:使用整数N除以M,要求向上取整,可以使用以下公式:int n=(N + M - 1) / M;
简化后就是:int n=(N - 1) / M + 1; 或者int n=N / M;
目录
- c语言向上取整计算
- c语言向上取整的一点技巧
c语言向上取整计算
用整数N 除以 M,要求向上取整数
int n = (N + M -1) / M ;
简化后就是:
int n= (N - 1) / M +1;
最笨的办法
int n = N / M + ((N % M != 0) ? 1 : 0 )
c语言向上取整的一点技巧
做底层或者说驱动开发时,经常会遇到一些硬件限制,比如 STM32 有些寄存器要求 16 bit 访问、32 bit 访问,否则可能引发 Hardfault 中断;再比如擦除 flash 扇区时,会要求整块擦除。这些都是硬件决定的,必须这样做。

