问题标签 [itoa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
733 浏览

c++ - 如何读取二进制数据,将其转换为 int,然后将其转换回 C++?

我正在尝试打开一个 wav 文件,读取它,将缓冲区转换为整数数组,然后将其转换回来并写入。

目前,这打印:

表示它在转换过程中改变了数据。我怎样才能让它正常工作?


经过一些建议,并学习我可以对char变量进行计算,我重新编写了代码,现在是:

但是,在播放(在 Windows Media Player 中)时,它不会播放,所以它显然不是我想要的原始文件。

0 投票
1 回答
626 浏览

c - 从 ADC 转换 uint16 翻转为负

我想要做的: 将生成的 16 位数字(在组合两个 8 位 #s 之后)变成一个字符串,以与我的串行发送功能一起使用

问题: 使用 itoa 时,一旦通过中间点(从第 15 位传递到第 16 位),结果就会变为负数,因此它本质上是使用第 16 位作为符号位(不足为奇),我的数字应该是无符号的. sprintf 也这样做。请注意, itoa(16) 可以正常工作,因为它应该。

硬件: atmega16 微处理器 (AVR c) 通过 SPI 总线连接的 16 位外部 ADC(将 ADC 结果作为两个 8 位数字发送)

编码:

这样做的结果是它打印了一个 15 位有符号的而不是原始的 uint16。我一直在使用 itoa 打印 10 位内部 ADC 的结果,但是这么简单的事情要花这么长时间,这让我很生气。

我真的很感谢你的时间。

0 投票
3 回答
3855 浏览

c++ - itoa() 的 C++ 标准替代方法,用于将 int 转换为以 10 为底的 char*

将整数转换为以 10 为底的 char*

ConCounter 是整数,ID 是 char*,10 是基数

它说 iota 不是 std 的成员,没有 std 它不会被声明。我知道这是一个非标准函数,但我包含了它的所有库,但它仍然看不到它。

有什么办法可以做到以上几点?有什么快速的一号线吗?我尝试了以下方法;

0 投票
2 回答
137 浏览

c++ - 有人可以告诉我这段代码有什么问题吗?

它一直运行到我使用 op 变量的部分,我尝试在 main 函数中复制和粘贴它完美地工作,为什么它不能在 OpCode 函数中工作?!提前致谢

0 投票
1 回答
370 浏览

string - itoa 的问题

我正在尝试将一些数据从微控制器发送到 PC。数据是来自不同端口的 10 位 ADC 转换(例如从 0-1023 的数字)。我已将此数字保存为整数,现在我想使用 itoa 或类似函数将其转换为 ascii 字符串。我的问题是我在查找 itoa 函数的文档时遇到了一些麻烦。例如,如果我从 AD 转换中收到数字“1011”。然后我可以按如下方式调用 itoa

ADC_string 中的结果将是“1 0 1 1 '\0'”,例如 1011;但是假设我从 AD 转换中收到数字 5,那么结果将是“5 '\0' Null Null Null”(如果我了解 itoa 如何正常工作)。我本来希望结果是“0 0 0 5 '\0'”。这样做的原因是我想将结果放在不同位置的大字符串中。例如

对于另一个端口(索引 5 和 6 处的 large_string 中存在其他内容)

换句话说,根据我上面的示例,我希望在 large_string 中有以下内容。

(我当时在一个端口进行AD转换,这就是我可以重用ADC_string的原因)。large_string 稍后将发送到 PC,这就是我要避免意外字符串终止符的原因。

有没有人知道如何以一种很好的方式实现这一点?我很感谢任何建议!

0 投票
1 回答
3157 浏览

c - 如何在 C 中使用 itoa

谁能告诉我如何itoa在 C 中使用函数?

原型是:

我认为这int_Val是我要转换的值 char*_DstBuf,是我要存储结果的字符串但是什么是int_Radix

0 投票
2 回答
113 浏览

c++ - 如何添加多位数 int 和 char,其中输出为 int + char

这就是我到目前为止所拥有的

头文件内容如下:

调用程序:

输出在哪里:

但它只适用于个位数整数

所以如果我尝试添加 1000 + X,它仍然会返回 1 + X,我不知道为什么。

有人可以指出我正确的方向吗?任何帮助表示赞赏,谢谢。

使用 VS 2010

0 投票
1 回答
1051 浏览

vbscript - VBScript 将整数转换为字符串 (itoa)

我已经编写了一个方法来获取整数并将其转换为十进制、十六进制或二进制,具体取决于您使用注释选择的内容。我将在稍后建立一个选择。我遇到的问题是选择了错误的值,我认为这与模运算符返回错误的值有关。这可能是一个舍入问题,因为我似乎总是偏离 1 位,但不是字符串中的每个字符。任何帮助,将不胜感激。例如,现在它设置为十进制值。因此,如果您运行它并输入 1705,它应该返回 1705,但它会返回 2705。十六进制和二进制也好不了多少。

0 投票
2 回答
1496 浏览

c++ - 将(很多!)数字转换为字符串而不在 Qt 中分配的正确方法

tl;博士

我想QString::number(int)每秒调用很多次。它很慢:似乎每次都分配一个新字符串。尝试setNum在相同的字符串上使用,但仍然没有乐趣。


原始的长问题:

问题

我有一大堆数字(比如整数),我想将它们格式化为文本,然后(可能不会立即)写入文件。天真的方式看起来大约是这样的

在我的机器上处理150000个整数大约需要280 毫秒,这对我来说似乎很多。我想这是因为被调用了 150000 次并且每次都分配新的字符串。当我尝试使用(不分配内存)时,这被证实是问题的根源。QString::numberitoa

可能,但不是 Qt[not-cute]解决方案

对于相同的150000 个整数(大约快4 倍),这大约需要70 毫秒,这对我来说现在是可以接受的(我想我也可以用字符串连接做一些事情,但是让我们把这个问题放在这个问题之外)

我不喜欢我必须使用一些不标准的、可能已弃用、可能不可移植的2函数(并不是说这看起来很丑)。

然后我记得还有一个实例方法:QString::setNum. 我希望我可以使用与 with 相同的模式itoa:只分配一个字符串并每次修改它。

理想但不可行的解决方案

不幸的是,这并没有太大的区别QString::number:再次大约 280 毫秒,好吧,也许是 250 毫秒,仍然太多。

所以,恭喜你到达这里:) 最后......

问题

  1. Qt 专家会建议我什么itoa尽管在其他芬芳的 C++/Qt 代码中有明显的 C 气味,还是闭嘴使用?
  2. 或者我能以某种方式说“来吧,Qstring,把这个数字吃到你身上”
  3. 我想知道为什么setNum没有做到这一点

脚注:

1在实际代码中,我不仅有 150000 个整数,还有 50000 个整数的三元组,我还在'\t'它们之间添加了这些整数。这是与我的实际代码的唯一区别,我想这并不重要:这里我只对QString::numbervs的性能感兴趣itoa

2实际上,我很惊讶 MinGW 也有_itoa_s与 Visual Studio 一样的行为,但我仍然有一些尴尬的感觉,在我优美的 Qt 代码中使用这样一个肮脏的函数会降低它的可移植性。如我错了请纠正我。

0 投票
3 回答
2279 浏览

c++ - 如何从三个整数(或者可能是 git/SVN commit/rev.string)生成 constexpr 版本字符串?

说我有

而且我要

要返回"1.10.0"此示例中的等价物,我该怎么做?

我想我需要这两个,在constexpr

  • 整数到字符串的转换
  • 字符串连接

constexpr这个问题纯粹是学术问题,除了“有可能”之外,我认为实际拥有它几乎没有用。我只是看不出这会如何。我愿意接受适用于 GCC 4.9 和 Clang 3.4/3.5 的 C++1y 解决方案。

我相信我在一些日本博客上几乎找到了我想要的东西:

我会看看我能用这些做什么,也许当我对结果感到满意时,我自己会回答这个自称有趣的问题。