yuuka blog
BlogCategoriesProjectsAbout中文
mailMailgithubGitHubtwitterTwitterblueskyBluesky
yuuka
•
© 2026
•
yuuka's blog
Published on
Monday, January 19, 2026

c的整数除法

Authors
  • avatar
    Name
    Yunyu
    Twitter
    @realYuka3069

在分割矩阵的时候,需要判断能否根据blocksize恰好完美分割,如果不能的话,剩下的宽度是多少。 所以,我使用了如下代码:

int flag = 0;
float temp = n / blocksize; // n x n矩阵,blocksize为每个子矩阵的宽度和高度

if((int)(n / blocksize) == temp){
flag = 0;
}else{
flag = 1;
}

假如此时n = 3, blocksize = 2, 实际上temp = 1.0,(int)(n / blocksize) = 1; 1 == 1.0。 c中的整数除以整数只能是(整数),对结果进行强制的类型转换只能在截断后进行。

用余数来判断才是正确的:

int flag = 0;
int remains = n % blocksize; // n x n矩阵,blocksize为每个子矩阵的宽度和高度

if(remains = 0){
flag = 0;
}else{
flag = 1;
}

ps: 在JavaScript奇怪的+运算符中,字符串和数字的转化是在运算前准备的。 这意味着 1 + "1" -> 1 + 1 -> 2 "1" + 1 -> "1" + "1" -> "11"。 显然c语言的更合理一些。just a reminder for js developers.

Discuss on Twitter(Not allowed now) • View on GitHub(Not allowed now)

Tags

C

Previous Article

如何称呼你的大学老师←

Next Article

游戏制作理念 G-STAR2025→
← Back to the blog