首页 > 后端开发 > C++ > 正文

C语言中的绝对数

WBOY
发布: 2024-07-10 18:50:07
转载
530人浏览过

c语言中的绝对数

数学中的绝对值定义为 x 的非负值,不考虑其符号。绝对值的表示法是变量 |x| 两侧的竖线。所以,从理论上来说|-16|将成为16.

现在,我怎样才能将它带入 C 编程语言

最简单的方法是使用stdlib 中的abs API。

#include <stdio.h>
#include <stdlib.h>

整数
主要的()
{
    printf("%dn", 绝对值(-16));
    返回0;
}
登录后复制

但是,如果出现无法使用 stdlib 或任何库的情况怎么办

我以前也经历过这种事,很无奈。因此,我决定使用我的Google-fu来学习如何在没有任何库的情况下实现绝对值。

立即学习C语言免费学习笔记(深入)”;

然后,我找到了简单易实现的解决方案。

#include <stdio.h>

int 绝对值(int x);

整数
主要的()
{
    printf("%dn", 绝对值(-20));
    返回0;
}

整数
绝对值(整数x)
{
    返回 x * ((x>0) - (x<0));
}
登录后复制

来源解释得更好并且很容易理解。但让我惊讶的是,它如何利用C语言的特点。也就是说,在 C 中我们没有布尔数据类型。

在C语言中,要确定真或假,它使用整数值。零代表假,一代表真。那么,让我们看看括号中的值结果将如何:

  • (x>0): 如果 x 大于 0,则为 True (1),否则为 False (0)。
  • (x 如果 x 小于 0,则为 True (1),否则为 False (0)。

让我们分解一下当x是正数时。

x==10
结果 = x * ((x>0) - (x<0))
结果 = 10 * ( 1 - 0 )
结果 = 10 * 1
结果 = 10
登录后复制

让我们分解一下当x为负数时。

x==-16
结果 = x * ((x>0) - (x<0))
结果 = -16 * ( 0 - 1 )
结果 = -16 * -1
结果 = 16
登录后复制

最后,如果 x 为零。

x==0
结果 = x * ((x>0) - (x<0))
结果 = 0 * ( 0 - 0 )
结果 = 0 * 0
结果 = 0
登录后复制

当 x 为正数或零时,绝对方法永远不会改变 x。但是,当我们将 x 设置为负数时,我们通过乘以 -1 对其取负,从而从 x 中得到正数。

多么有趣的解决方案。

以上就是C语言中的绝对数的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号