问题标签 [signed-integer]

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 回答
967 浏览

c - 无符号 -1 = 有符号 -1

已经问了很多类似的问题,但它仍然让我感到困惑

返回

4294967295 -1

我了解这些值是如何存储在 C 中的以及为什么它会显示这些数字,但我的问题是,这里如何a==b返回true

0 投票
1 回答
245 浏览

c - 用 c 语言分配位域的有符号 int 但混淆

目前我正在研究 c 并且面临关于结构中签名 int 的困惑,这里我给出了示例:

在这里,我已经描述了 int 在存储值时将占用的位大小。在这里,我将值 -8 分配给年龄。所以它会为 8 存储像 1000 这样的值,对于 -8 它应该像 11000 这样存储,其中左第 1 位被称为符号位。因此,如果 int age 必须存储 -8 它必须有 5 位,但是当我编译给定的示例时,它没有给出错误并显示输出。

请帮我解决我的问题。

0 投票
2 回答
387 浏览

c - 如何仅使用二元运算符来划分有符号整数?

我只能用!~ & ^ | + << >>

我正在用 C 写这个。

我正在尝试将数字 x 除以 2^n。所以我想如果我移动 x >> n 会起作用,但它不适用于奇数负整数。它最初看起来像这样:

但是如果 x = -9 且 n = 1,则输出应该是 -4 但它是 -5。如果 x = -9 且 n = 0,则输出正确 (-9)。

提前致谢。

所以我发现这样做使它适用于一切,除非 n = 0 并且 x 是负数:

0 投票
0 回答
718 浏览

ios - 签名内存算术漏洞 iOS

我开发了一个 Cordova 应用程序,它通过了安全审查,其中一个发现与我用来发出 curl 请求的插件有关。该发现被评为高度脆弱性。调查结果如下:

[some file] 第 143 行的有符号整数 sizeof 指定要分配的内存大小。

这是一个objective-c代码,我不熟悉它。所以我的问题是这个漏洞是什么以及如何修复它?

0 投票
2 回答
213 浏览

c++ - 为什么 int i = 1<<31 == -2147483648 而不是 2147483648?

我试图理解按位运算,根据我的说法,整数包含 32 位,并且从 LSB 第 0 位到 MSB 第 31 位,所以如果我将左移 1 位设置为 31 位,我想我应该得到 2^31 和它的二进制表示是 10000000 00000000 00000000 00000000 那么为什么我得到的结果是负面的?如果我错了,请纠正我。

0 投票
4 回答
250 浏览

c - 大小未知的有符号整数类型的最大正值

例如,如果我们有一个我们可能不知道大小的无符号整数类型size_t,那么我们可以相对简单地获得它可以容纳的最大值,例如:

有符号整数类型是否有类似的技术,例如ssize_t?如:

请注意,例如,可能没有相应的无符号类型time_t (暂时忽略它甚至可能不是整数)

[编辑 1] size_t/ssize_t/time_t 的使用仅用于说明目的,我正在寻找没有 XXX_MAX 帮助的通用解决方案。

[编辑 2]这似乎可行,但我不确定这是否“只是运气”:

foo_int_type(通过一些我不想复制的可怕的预处理器 goop 来确定实际类型)

0 投票
3 回答
2325 浏览

python - 哪种字符串散列算法产生 32 位或 64 位有符号整数?

我想将可变长度(6-60 个字符长)的字符串散列为 32 位有符号整数,以节省 PostgreSQL 中的磁盘空间。

我不想加密任何数据,并且散列函数需要可从 Python 重现和调用。问题是我只能找到产生无符号整数的算法(如 CityHash),因此产生的值最多为 2^32 而不是 2^31。

这是我迄今为止所拥有的:

0 投票
1 回答
717 浏览

ios - 如何将具有负整数的NSString转换为负整数

在我的应用程序中,我想显示0NSString 是否包含负整数。我试图将 NSString 转换为有符号整数,但我的 NSString 到有符号整数的转换代码总是返回0值。

例如:我想转换@"-0.02"-0.02 int. 但是我的代码总是返回0原始值。

我尝试使用以下代码:

  1. (signed)[@"-0.02" intValue]//返回0
  2. [[NSNumberFormatter new] numberFromString:timespent]//返回值为-0.02的NSNumber,但在进行< 0比较时,我转换NSNumbersignedIntValueas (signed)[[[NSNumberFormatter new] numberFromString:timespent] intValue]//但它返回0

任何人都知道如何在 iOS 中做到这一点 - Objective-c?

0 投票
1 回答
3706 浏览

assembly - 用 DOS 显示数字

我的任务是编写一个程序来显示我的程序 PSP 的线性地址。我写了以下内容:

我搜索了 DOS api(使用Ralph Brown 的中断列表)并没有找到一个输出数字的函数!我错过了它,我该怎么办?

我想以DX:AX十进制显示数字。

0 投票
3 回答
1444 浏览

c# - 将二进制转换为有符号整数/十进制

我正在尝试将十六进制数据转换为有符号整数/十进制,但无法弄清楚我做错了什么。

我需要FE变成-2.

我正在使用Convert.ToInt32(fields[10], 16),但正在获取254而不是-2.

任何帮助将不胜感激。