cost 120 ms
检查表示 float/unsigned int 的字符串是否太大 - Check if a string representing float/unsigned int is too big

我有一个文件,其中包含表示float和uint64_t值的字符串。 我确切地知道哪个字符串包含float值,哪个字符串包含uint64_t值——这不是我面临的问题。 以下是我如何将它们转换为各自的数据类型: 但是问题出现在我想捕捉的以下边缘情况: 假设uint64_t的字符串是"99999 ...

2022-07-14 11:11:54   3   76    c / strtoull  
为什么使用左移按位运算符后前两位数字丢失? - Why first two digits are lost after using left-shift bitwise operator?

我在 uint64_t 变量中存储了一个十六进制值。 当我调用strtoull()将字符串转换为十六进制值时,我得到了正确的结果,但是当我左移 ( << ) 32 时,我丢失了前两位数字。 我正在测试的字符串是"398a59b412" 。 我希望得到398a59b41200000000 ...

当转换为double然后返回uint64_t时,strtoull()的输出会丢失精度 - Output of strtoull() loses precision when converted to double and then back to uint64_t

考虑以下: 哪个印刷品: 第一个数字只是将ULLONG_MAX从字符串转换为uint64_t的结果,该字符串按预期工作。 但是,如果我将结果转换为double然后再返回uint64_t ,则它会输出0 ,即第二个数字。 通常情况下,我会将这归因于浮点数的精度不准确,但 ...

strtoull在C中正确使用 - strtoull use properly in C

所以我有一个像这样的字符串: 这是一个例子,数组中可以有更多的数字,但是肯定会以[]结尾。 因此,现在我需要将其转换为无符号长整型数组。 我知道我可以使用strtoull(),但是它需要3个参数,而且我不知道如何使用第二个参数。 我也想知道如何使数组具有正确的长度。 我想让我 ...

strtoul() 没有按预期工作? - strtoul() not working as expected?

我正在尝试将诸如“0x7ffd01767a60”之类的字符串转换为十六进制,以便我可以比较指针。 不确定这是否是最好的决定。 我正在这样做: 我得到这个:0x7ffd01764120 编辑:似乎我正在打印字符串地址而忽略函数返回。 谢谢詹斯! 和 schlenk。 解决了! 这就是我所做的 ...

如果条件为假,即使执行语句 - If statement executes even when condition is false

这是有问题的代码。 我有一个字符串,格式为str =“ -1,ABCDEFGH”,结构A的大小为15个字节。 我正在预先执行此操作: 完成此操作后,ptr指向“,”,数字= -1 查看IF条件,第一条语句的计算结果为false(因为* ptr =','),第二条语句的执行 ...

令牌到无符号打印奇数值 - token to unsigned printing odd values

正如标题所示,我从strtoul得到了一些奇怪的回报,我已经通过使用strcpy将数据存储为字符串进行了测试,它给出了正确的值,但是当我尝试通过使用将其更改为unsigned int时strtoul()我得到一个奇怪的结果,找不到解决它的方法。 我的代码如下: 正在加载的数据是data ...

为什么在Visual Studio编译器中使用strtoul函数将十六进制错误转换为十进制? - Why do I get wrong conversion from hex to decimal with strtoul function in Visual Studio compiler?

我正在将字符串从十六进制转换为十进制。 问题在于,在Visual Studio编译器中,转换返回错误的值。 但是,当我在Mac上使用g ++编译器在Mac上编译相同的代码时,将正确返回该值。 为什么会这样呢? 输出: ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM