当前位置: 首页> 汽车> 新车 > 柳州网络推广公司哪家好_成都最差的十大物业公司_上海城市分站seo_成都网站快速开发

柳州网络推广公司哪家好_成都最差的十大物业公司_上海城市分站seo_成都网站快速开发

时间:2025/7/12 9:41:18来源:https://blog.csdn.net/qq_45973003/article/details/145732582 浏览次数: 0次
柳州网络推广公司哪家好_成都最差的十大物业公司_上海城市分站seo_成都网站快速开发

1-1 逐位提取数字


获取对应位数的数字,适应开发过程中的各种操作,具体的代码演示案例如下所示


假设 val 是一个 5位整数(范围:0~99999),代码将逐位提取其数字,并存储到数组 g_Tempbuf 中:

g_Tempbuf[0] = val / 10000;           // 提取万位(第5位)
g_Tempbuf[1] = (val % 10000) / 1000;  // 提取千位(第4位)
g_Tempbuf[2] = (val % 1000) / 100;    // 提取百位(第3位)
g_Tempbuf[3] = (val % 100) / 10;      // 提取十位(第2位)
g_Tempbuf[4] = val % 10;              // 提取个位(第1位)

1-2 实际分析


val = 12345 为例:万位

g_Tempbuf[0] = 12345 / 10000 = 1  // 整数除法,得到万位数字 1

千位(第4位)

val % 10000 = 12345 % 10000 = 2345  // 取余后保留后4位
2345 / 1000 = 2                     // 整数除法,得到千位数字 2

百位(第3位)

val % 1000 = 12345 % 1000 = 345    // 取余后保留后3位
345 / 100 = 3                      // 整数除法,得到百位数字 3

十位(第2位)

val % 100 = 12345 % 100 = 45       // 取余后保留后2位
45 / 10 = 4                        // 整数除法,得到十位数字 4

个位(第1位)

val % 10 = 12345 % 10 = 5          // 直接取余,得到个位数字 5

最终,g_Tempbuf 的内容为:[1, 2, 3, 4, 5]


1-3 数组索引与位数


g_Tempbuf[0] 万位(最高位)

g_Tempbuf[2] 百位

g_Tempbuf[3]十位

g_Tempbuf[4] 个位(最低位)


适用的范围是:


5位整数:如果 val 不足5位(例如 val = 123),高位将补零。

例如:

val = 123g_Tempbuf = [0, 0, 1, 2, 3]

超过5位:如果 val 超过5位(例如 val = 123456),代码将截断高位。

例如:

val = 123456g_Tempbuf[0] = 12(实际是错误结果)


潜在问题:


前导零:不足5位时高位自动补零,需根据需求决定是否保留。

数值溢出:若 val 超过5位(如 val ≥ 100000),高位计算结果可能不符合预期。


1-4 程序改进


使用循环或对数运算动态确定位数,避免硬编码除法:

for (int i = 0; i < 5; i++) {g_Tempbuf[i] = val / (int)pow(10, 4 - i) % 10;
}

添加范围检查:

if (val > 99999) {// 错误处理:数值超出范围
}

若需要忽略高位零,可记录有效位起始位置:

int start = 0;
while (start < 5 && g_Tempbuf[start] == 0) {start++;
}
// 从 start 开始为有效数字

功能:


功能:将最多5位的整数按万位→个位顺序分解到数组中。

适用场景:固定位数显示(如数码管、LCD显示数值)。

注意事项:需确保输入值在合理范围内,并根据需求处理前导零和溢出问题。

......

关键字:柳州网络推广公司哪家好_成都最差的十大物业公司_上海城市分站seo_成都网站快速开发

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: