整数还是字符?哪个更快? [复制]

2024-02-06

我的 C 程序在内存中存储许多整数值,并经常读取它们并对其进行比较。类型范围unsigned char足够了,但我已经用过int因为对我来说速度比内存消耗重要得多,我想也许 CPU 可以与int速度更快。但这只是一个粗略的直觉猜测,我还远不能确定。


考虑到限制,您可能应该使用uint_fast8_t这为您提供了通常最快的无符号类型,该类型至少能够存储uint8_t值(其中uint8_t通常是unsigned char, 当然)。该类型定义于<stdint.h> http://port70.net/~nsz/c/c11/n1570.html#7.20.1.3在 C99 及更高版本中(以及uint_fast8_t需要定义,但不一定相同uint8_t, and uint8_t如果CPU不支持8位字节则无需定义)。

如果您沿着这条路线走下去,您可能需要温习正确的格式说明符printf() and scanf()函数族。这些定义在<inttypes.h> http://port70.net/~nsz/c/c11/n1570.html#7.8.1。使用其他任何东西都充满了可移植性问题(至少在理论上)。

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

整数还是字符?哪个更快? [复制] 的相关文章

  • 采用 std::vector 或 std::array 的模板函数

    我有一个函数 当前接受 2 个向量 其中可以包含任何普通的旧数据 template
  • 如何使用 Entity Framework 和 Identity 解决对象处置异常 ASP.NET Core

    我正在尝试编写一个控制器 该控制器接收来自 AJAX 调用的请求并通过 DBContext 对数据库执行一些调用 但是 当我发出命令时var user await GetCurrentUserAsynch 在对 DBContext 的任何调
  • getline 之后返回到文件开头

    所以我已经从文件中读取了所有行 while getline ifile line logic 其中 ifile 是 ifstream line 是字符串 我的问题是我现在想再次使用 getline 并且似乎无法返回到文件的开头 因为运行 c
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • 更新 Azure Blob 上的 LastModified

    我正在移植代码以使用 C 中的 Azure 存储 SDK 传统上 我称其为更新修改文件的上次写入 修改时间 File SetLastWriteTimeUtc fileName lastWriteTimeUtc 要更新 blob 的上次修改时
  • Boost MPI 在监听列表时不会释放资源?

    这是一个后续问题如何释放 boost mpi request https stackoverflow com questions 44078901 how do i free a boostmpirequest 我在监听列表而不是单个项目时
  • 无法将参数从 `const char *` 转换为 `char *`

    鉴于此代码 void group build int size std string ips Build the LL after receiving the member list from bootstrap head new memb
  • QSpinBox 输入 NaN 作为有效值

    我正在尝试扩展 QSpinBox 以能够输入 NaN 或 nan 作为有效值 根据文档 我应该使用 textFromValue valueFromText 和 validate 函数来完成此操作 但我无法让它工作 因为它仍然不允许我输入除数
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • C# 中的抽象类和接口类有什么不同?

    C 中的抽象类和接口类有什么不同 An 接口不是类 它只是一个contract定义了public一个类的成员must实施 抽象类只是一个类 您从中可以cannot创建一个实例 通常您会使用它来定义一个基类 该基类定义了一些virtual方法
  • 如何调试.NET Windows Service OnStart方法?

    我用 NET 编写的代码仅在作为 Windows 服务安装时才会失败 该故障甚至不允许服务启动 我不知道如何进入 OnStart 方法 如何 调试 Windows 服务应用程序 http msdn microsoft com en us l
  • std::make_pair 与浮点数组(float2,无符号整数)

    我有一个用 float2 unsigned int 对模板化的向量 例如 std vector
  • 未使用的功能会产生什么后果

    我想知道在代码中使用未使用的函数会产生什么 如果有什么后果 如果您查找并删除所有未使用的函数和变量 性能是否会有明显的改进 或者删除未使用的函数和变量只是一个好习惯 未使用的功能不会损害性能 他们让维护代码的人的工作变得更加困难 现代 ID
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 在特定线程上运行工作

    我想要一个特定的线程 任务队列并在该单独的线程中处理任务 应用程序将根据用户的使用情况创建任务并将其排队到任务队列中 然后单独的线程处理任务 即使队列为空 保持线程活动并使用它来处理排队任务也至关重要 我尝试过几种实现TaskSchedul
  • 如果仅使用第一个元素,是否必须为整个结构分配内存?

    我有一个结构 其中第一个元素被测试 并且根据其值 结构的其余部分将被读取或不会被读取 在第一个元素的值指示结构的其余部分不会被读取的情况下 我是否必须为整个结构或仅第一个元素分配足够的内存 struct element int x int
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • 使用任务的经典永无止境的线程循环?

    给出了一个非常常见的线程场景 宣言 private Thread thread private bool isRunning false Start thread new Thread gt NeverEndingProc thread S
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 在 LP2844Z(Zebra 打印机)上的收据中包含 PNG [重复]

    这个问题在这里已经有答案了 我正在致力于创建一个基于 HTML5 画布的签名 绘图框 目前我们在服务器上将画布保存为PNG 但可以轻松地将base64字符串保存在数据库中 现在的问题是我们如何在打印的收据上添加签名 目前我们使用 GF 字段

随机推荐

  • 计算点之间的距离

    我正在尝试使用 Scala 类计算两点之间的距离 但它给出了一个错误说 类型不匹配 找到 other type 具有基础类型 Point required def x 请注意 隐式转换不是 适用 因为它们不明确 两种方法any2Ensuri
  • 从 SQL Server 表中随机选择 n 行

    我有一个 SQL Server 表 其中包含大约 50 000 行 我想随机选择其中大约 5 000 行 我想到了一种复杂的方法 创建一个带有 随机数 列的临时表 将我的表复制到其中 循环遍历临时表并用RAND 然后从该表中选择随机数列 本
  • 使用参数的 Xamarin Forms 应用程序链接

    我有个问题 我想从我的 php 页面启动我的应用程序并通过该链接传递一个变量 然后在我的应用程序网站上 我需要读取参数并使用该参数执行我想要的操作 现在我已经找到这个链接 Xamarin Android 使用带参数的链接启动应用程序 htt
  • 如何将完整的字符串写入文件?

    我现在正在 Windows 中编程 但可移植代码也将受到欢迎 我现在使用的是fwrite 4 但此函数需要写入文件的最大元素数 我可以用strlen 1 在这里 但我想知道是否有更好的方法来做到这一点 Use fputs http www
  • Flutter:- 如何在屏幕上显示动态小部件?

    我想以乱码形式显示输入的文本 即单词的每个字母需要单独显示Container连续 为此 我正在接受文本输入 并将其存储在List
  • NHibernate 不只保存一个属性

    我正在尝试更新表中的单个列 没有发出任何更新 使用 SQL Profiler 检查 没有错误 类映射有dynamic update true 类上未启用版本控制 刷新模式提交 映射的属性没有任何插入 更新修饰符
  • .NET core/Python 从 Azure 存储 Blob 读取前 X 行

    我有一个大斑点 我需要从中提取前几行 我可以在不打开整个文件的情况下执行此操作吗 该文件采用已知格式 通常为 Excel 有时为 csv 或 tsv 只要知道这是否可能就会非常有帮助 在搜索微软和其他论坛时 我根据日期得到了不同的答案 谢谢
  • 在 Mac OS 上从 Transformer 类导入管道函数时,Jupyter 内核崩溃

    我无法导入 Transformer 类的管道函数 因为我的 jupyter 内核一直死机 尝试使用 Transformer 4 15 0 和 4 16 2 有人遇到过这个问题吗 我尝试将类导入到新笔记本中 如图所示 它不断杀死内核 这对我来
  • 检查 DataFrame(Scala) 是否为空的最快方法?

    如何检查 DataFrame Scala 以最快的方式为空 我用DF limit 1 rdd isEmpty 比 DF rdd isEmpty 更快 但并不理想 有没有更好的方法可以做到这一点 我通常会打电话给first围绕一个Try im
  • Git 合并因分段错误而失败

    我有一个大型合并 涉及很多inexact rename 但失败并出现以下情况 Performing inexact rename detection 100 169817200 169817200 done Performing inexa
  • 将 RTSP 流转换为 HTTP 并使用 VLC 客户端进行流传输

    我有一个通过 RTSP 提供流的 IP 摄像机 我可以使用以下 URL 在带有 VLC 播放器的 PC 上播放它 rtsp 192 168 1 52 554 user admin password channel 1 stream 0 sd
  • Apache HttpClient:setConnectTimeout() 与 setConnectionTimeToLive() 与 setSocketTimeout()

    有人可以解释一下这两者之间有什么区别吗 client HttpClientBuilder create setConnectionTimeToLive 1 TimeUnit MINUTES build and RequestConfig r
  • 中断或退出“with”语句?

    我只想退出with特定条件下的声明 with open path as f print before condition if
  • Django Rest Framework“需要一个有效的整数。”?

    我想在反序列化期间将空字符串默认为 0 或 null JSON injuries 6 children 2 civilians 但是 我不断收到此错误 需要一个有效的整数 模型 py from django db import models
  • flink集群启动错误[ERROR]无法正确获取JVM参数

    bin start cluster sh Starting cluster INFO 1 instance s of standalonesession are already running on centos1 Starting sta
  • Python ImportError:没有名为 cv 的模块

    我刚刚接触 Python 并尝试在线运行脚本代码在这里 https github com abidrahmank OpenCV Python blob master Other Examples multi color two object
  • 类型不匹配:无法从对象转换为列表

    CompanyDAO companyDAO new CompanyDAO List companyList companyDAO getAllCompanyList MycompanyList 包含如下数据 1 Agastha Medica
  • 使用 truffle 测试以太坊事件日志

    我有一个合约的函数 它在每次调用时发出事件 我希望在每个通过的测试上发出一个事件 以下是一些测试 it should emit Error event when sending 5 ether function done var insur
  • 单击窗口时关闭画布外菜单

    我制作了这个 滑出 菜单 SASS 滑出式菜单 http codepen io Riccardo Zanutta pen wGjqt 没关系 但我希望当菜单滑动时 在窗口上单击菜单返回 删除 nav open 类 我在 codepen 演示
  • 整数还是字符?哪个更快? [复制]

    这个问题在这里已经有答案了 我的 C 程序在内存中存储许多整数值 并经常读取它们并对其进行比较 类型范围unsigned char足够了 但我已经用过int因为对我来说速度比内存消耗重要得多 我想也许 CPU 可以与int速度更快 但这只是