【学习笔记】C#的向上取整

本篇讨论的是C#。

整数和浮点数

整数运算使用的是 ALU(算术逻辑单元)寄存器,而浮点数运算使用的是 FPU/SSE(浮点运算单元)寄存器。

整数向上取整

1. 数学公式法

使用 $ \frac{a+b-1}{b} $ 就可以获得向上取整,但是要注意当\(a+b\)很大的时候,可能会超界。

int num = (a+b-1)/b;

2. 使用三元运算符号

int num = (a / b) + (a % b == 0 ? 0 : 1);

缺点:运算了一次除以,又运算了一次求余。

3. CPU核心指令

使用Math.DivRem

用法:int quotient = Math.DivRem(a, b, out int remainder);

quotient即商,remainder即余数。

然后int num = quotient + (remainder == 0 ? 0 : 1);就可以了。

posted @ 2026-07-20 17:01  SEHOD  阅读(1)  评论(0)    收藏  举报