C 中求整数的长度

2023-12-01

我想知道如何在C中找到整数的长度。

例如:

  • 1 => 1
  • 25 => 2
  • 12512 => 5
  • 0 => 1

等等。

我怎样才能在C中做到这一点?


C:

您可以取数字绝对值的以 10 为底的对数,向下舍入,然后加一。这适用于非 0 的正数和负数,并且避免使用任何字符串转换函数。

The log10, abs, and floor功能由提供math.h。例如:

int nDigits = floor(log10(abs(the_integer))) + 1;

您应该将其包含在一个子句中,以确保the_integer != 0, since log10(0)回报-HUGE_VAL根据man 3 log.

此外,如果输入为负数,或者您对数字的长度(包括负号)感兴趣,您可能需要在最终结果中加一。

Java:

int nDigits = Math.floor(Math.log10(Math.abs(the_integer))) + 1;

N.B.此方法中涉及的计算的浮点性质可能会导致它比更直接的方法慢。有关效率的一些讨论,请参阅 Kangkan 答案的评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中求整数的长度 的相关文章

  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 为什么基类必须有一个带有 0 个参数的构造函数?

    这不会编译 namespace Constructor0Args class Base public Base int x class Derived Base class Program static void Main string a
  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • TextBox 焦点的 WinForms 事件?

    我想添加一个偶数TextBox当它有焦点时 我知道我可以用一个简单的方法来做到这一点textbox1 Focus并检查布尔值 但我不想那样做 我想这样做 this tGID Focus new System EventHandler thi
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么密码错误会导致“填充无效且无法删除”?

    我需要一些简单的字符串加密 所以我编写了以下代码 有很多 灵感 来自here http www codeproject com KB security DotNetCrypto aspx create and initialize a cr
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据

随机推荐

  • 验证嵌套属性的数量

    我有一个带有嵌套属性的模型 class Foo lt ActiveRecord Base has many bar accepts nested attributes for bar end 效果很好 但是我想确保对于每个 Foo 我至少有
  • 如何获取 QWebEngineView 中加载的页面的 html

    我正在尝试获取 PyQT5 QWebEngineView 中加载的页面的 HTML 这是一个简单的例子 import sys from PyQt5 QtCore import from PyQt5 QtWebEngineWidgets im
  • 如何在 Forge Viewer 中使用properties.db?

    sqlite数据库文件properties db通常是输出中最大的文件https extract autodesk io 它在 Forge Viewer 中有何用途 如果未使用 为什么会在 ZIP 文件中提供它 此示例复制两者的原因是该示例
  • 正则表达式匹配连续的 n (字母数字)

    我正在尝试匹配字符串中的连续 n 个 字母数字 字符 其中 n 3 i7g172w2n YES it has 3 consecutive number adab172cd NO it has 4 consecutive alpha even
  • “.subsurface()”、“.convert_alpha()”和“%”有什么作用?

    我正在尝试学习 Pygame 我正在遵循的教程中有一个部分解释了如何为精灵设置动画 它为我提供了一个精灵表 其中包含 8 个图像 每个图像的尺寸为 128x128 而整个表的尺寸为 1024x128 然后它呈现以下代码 usr bin en
  • 具有多种运算的三元运算符

    当每种情况要执行多个操作时 可以使用三元运算符吗 例如我可以在这里使用它吗 if dwelling dwelling dwelling 0 nodeValue first operation letterDwelling dwelling
  • 使用 pandas 数据框矢量化复杂切片

    出于速度目的 我希望能够对这段代码进行矢量化 目的是根据两个单独数组中包含的一对日期元组计算一个函数 在本例中为标准差 import pandas as pd import numpy as np asd 1 pd Series 0 01
  • ngrok 无法正常工作来测试 HTTP

    我下载了 ngrok 这样我就可以测试我的网站的 http 和 https 请求 如果有人试图进入我网站的特定 url 并且这将是一个简单的 http 请求 我会拒绝它 首先 我的本地主机工作在 8080 端口 我启动 ngrok 它给了我
  • 定义菜单项快捷方式

    我需要一种简单的方法来设置菜单项的快捷方式 但这不适用于快捷方式 只需单击即可
  • 删除 MySQL 中的数百万行

    我最近发现并修复了我正在开发的一个网站中的一个错误 该错误导致表中出现数百万个重复的数据行 即使没有它们 这些数据也会相当大 仍然有数百万 我可以轻松找到这些重复的行 并且可以运行单个删除查询来删除它们 问题是 尝试一次删除这么多行会长时间
  • 密码重置电子邮件出现 NoReverseMatch 错误

    我一直在尝试创建一个密码重置电子邮件系统 我一直在关注这个tutorial 当我尝试访问时出现此错误 password reset django urls exceptions NoReverseMatch 未找到 password res
  • Webdriver:在 Firefox 中单击“共享位置”按钮

    我正在尝试使用 Webdriver 来测试位置感知网站 并希望以编程方式 使用 WebDriver API 调用 单击当我单击 Web 应用程序的位置感知部分的链接时弹出的 共享位置 按钮 这是一个浏览器提示符 似乎不是 DOM 元素或 j
  • 用什么替换路径中的空格字符?

    我从 Java 应用程序启动 bash 并且我的路径中有在 bash 空间内执行的命令 例如 cd Documents and Settings test 我使用 Process Builder 运行命令 但当路径有空格时它不起作用 我尝试
  • Python/Selenium 隐身/私有模式

    我似乎找不到任何有关如何使 Selenium 以隐身模式打开浏览器的文档 我是否必须在浏览器中设置自定义配置文件 首先 自从selenium默认情况下会启动一个带有干净 全新配置文件的浏览器 您实际上已经在私密浏览了 参考 Python 在
  • 如何使用 python HTMLParser 库从特定 div 标签中提取数据?

    我正在尝试使用 python HTMLParser 库从 HTML 页面中获取值 我想要获取的值位于此 HTML 元素内 div 20 div 到目前为止 这是我的 HTMLParser 类 class LinksParser HTMLPa
  • 如何从网页(不同域)获取html代码?

    如何创建一个 javascript 脚本 允许我从不同域获取不同页面的 html 代码 并允许我编辑和显示代码 提前致谢 看一下使用 jQuery 进行跨域请求 GitHub 仓库
  • 在 Vuforia 中获取纯视图矩阵

    我正在使用 Vuforia SDK 构建我的 AR 应用程序 通过使用 trackableResult gt getPose 我可以获得目标帧标记的模型视图矩阵 但我还需要纯视图矩阵来进行一些计算 有什么办法可以得到吗 继上面的 peede
  • Javascript - 如何从特定 div 类内的标签获取属性值?

    我需要从以下位置检索值的 HTML 代码片段 div class elgg foot div
  • 使用 MySQLi 时在非对象上调用成员函数 real_escape_string()

    我已经尝试了有关此主题的其他问题上发布的所有解决方案 但没有一个有效 如果这是一个基本问题 我很抱歉 但我是 MySQLi 新手 我不明白为什么这个连接不起作用 我的functions php 文件中有一个函数 其中包含 function
  • C 中求整数的长度

    我想知道如何在C中找到整数的长度 例如 1 gt 1 25 gt 2 12512 gt 5 0 gt 1 等等 我怎样才能在C中做到这一点 C 您可以取数字绝对值的以 10 为底的对数 向下舍入 然后加一 这适用于非 0 的正数和负数 并且