如何用C语言编写向上取整的计算函数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计876个文字,预计阅读时间需要4分钟。
目录:C语言向上取整技巧内容:C语言向上取整的一点点技巧方法:用整数N除以M,要求向上取整,即int n=(N + M - 1) / M;简化后就是:int n=(N - 1) / M + 1;最后的做法:int n=N / M + 1
目录
- 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 扇区时,会要求整块擦除。这些都是硬件决定的,必须这样做。
本文共计876个文字,预计阅读时间需要4分钟。
目录:C语言向上取整技巧内容:C语言向上取整的一点点技巧方法:用整数N除以M,要求向上取整,即int n=(N + M - 1) / M;简化后就是:int n=(N - 1) / M + 1;最后的做法:int n=N / M + 1
目录
- 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 扇区时,会要求整块擦除。这些都是硬件决定的,必须这样做。

