问题标签 [unsigned-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 投票
4 回答
8367 浏览

c++ - unsigned int 类型的函数返回负数

哇,我以为我知道我的 C++,但这很奇怪

这个函数返回一个无符号整数,所以我认为这意味着我永远不会返回一个负数,对吧?

该函数确定您比 UTC 提前或落后多少小时。所以对我来说,我在澳大利亚悉尼,所以我是 +10 GMT,这意味着我是 UTC = LocalTime + (-10)。因此 GetTimeZoneInformation 正确地确定我是 -10。

但是我的函数返回一个无符号整数,所以它不应该返回 10 而不是 -10 吗?

0 投票
1 回答
5930 浏览

mips - MIPS:我可以通过系统调用从用户那里获得无符号整数值吗?

标题几乎概括了这一点。我正在为一个学校项目使用 32 位 MIPS 汇编语言(使用 MARS 仿真器)编写一个程序,并且我的 int 值 > 2,147,483,647 的阅读运气为零。

我花了相当多的时间在互联网上和我的书中寻找,但无济于事。这不是任务的核心(如果你碰巧知道这是不可能的,你可能已经意识到了),但好奇心正在杀死这只猫。现在我已经撞到了这堵砖墙,我必须确定。

笔记:

  1. 我专门寻找一种方法来获取无符号整数,而不是采用浮点数或双精度数。
  2. 使用系统调用获取 int 的标准代码:

    /li>
  3. 在提示输入整数时传递 2 500 000 000 时发生的错误:

    /li>

帮帮我欧比旺,你是我唯一的希望!

0 投票
1 回答
226 浏览

while-loop - 使用 unsigned int 终止 while() 循环

是否可以使用 unsigned int 终止 while() 循环?例如,当用户输入负值时,我想终止 while() 。但我希望它是任何负值,而不仅仅是-1。

0 投票
2 回答
2708 浏览

java - 将 uintN 数据类型从 C 传输到 Java(套接字编程)

我需要通过 Sockets 从用 C 编写的本机程序发送数据,即 winsock 接口。然后,该数据由 java 程序接收。Java程序接收到一个它知道顺序的数据包并进行一些处理。它需要从 socket.Read() 收到的 int 像client_socket.getInputStream().read()

从 Read() 返回的 int 数据的处理被解析以获得预期的数据类型。基本上它是对收到的批量数据的切片。我只能假设 read() 函数一次读取 4 个字节(32 位 java int 大小)。所以我继续将 4 个字节(8 位不是 Java 类型)分成 4 个 Java 短裤,这样我就可以正确地表示它们所代表的无符号值。在我有 4 条短裤后,如果我知道我想要一个 uint16,我只需将 2 条短裤连接起来

问题出在某个地方,我正在做一些错误的位操作,但并没有像我想象的那样奏效。下面是 C 代码和 Java 代码,即使它不起作用,它也非常简单。输出是我不明白为什么会这样。

C 代码编辑了初始化部分:

Java 代码也被修改:

...

0 投票
3 回答
35197 浏览

java - JNI:将 unsigned int 转换为 jint

如何将 unsigned int 转换为 jint?我是否必须转换它,或者我可以在没有任何特殊处理的情况下将其退回?这基本上是我现在的代码,但我无法测试它,因为我没有在本地设置 JNI。

0 投票
2 回答
1244 浏览

c++ - 从 size_t 转换为 unsigned int

从 size_t 转换为 unsigned int 是否有可能导致溢出。

语言:C++

平台:任何

0 投票
3 回答
577 浏览

c - 用 N 个不可靠位计算 unsigned int 可能值的最快方法?

给定一个无符号整数 A(32 位)和另一个无符号整数 B,其中 B 的二进制形式表示 A 的 10 个“最不可靠”位,扩展 A 的所有 1024 个潜在值的最快方法是什么?我希望在 C 中做到这一点。

例如,保证 uint B 始终具有 10 个 1 和 22 个 0 的二进制形式(10 个最不可靠位)。

例如,假设

它们的二进制表示是:

B 表示 A 的 10 个最不可靠的位。因此,在 B 中设置为 1 的每个位表示 A 中的一个不可靠位。

我想计算通过切换 A 中的这 10 个位中的任何一个而创建的所有 1024 个可能值。

0 投票
9 回答
147250 浏览

c - 将无符号整数转换为有符号整数 C

我正在尝试65529unsigned inta 转换为已签名的int. 我试着做这样的演员:

但是y当它应该返回 -7 时仍然返回 65529。这是为什么?

0 投票
1 回答
339 浏览

php - 将嵌入式 C 函数转换为 PHP 函数

我正在尝试“翻译”以下用 C 语言编写的 PHP 函数。问题是,用 PHP 编写的函数返回的结果与用 C 编写的函数返回的结果不同。

我认为问题来自 PHP 中的整数溢出,它无法将变量视为无符号 32 位整数。

我试图用0xFFFFFFFF屏蔽所有操作,但没有成功。你有其他可行的解决方案吗?

C函数:

PHP函数:

谢谢你。

解决方案:

我找到了一个解决方案:以下代码使用允许对无符号 32 位整数进行移位操作和加法的函数。

谢谢您的回答。

0 投票
2 回答
2409 浏览

c++ - 无符号整数和颜色

我正在尝试使用 0xAABBGGRR 形式的无符号整数(0xFF998877 等)更改某些东西的颜色,其中 A 是 Alpha,B,G 和 R 是蓝色,绿色和红色。

但是我想知道最好的方法是改变我传入的颜色以慢慢变暗或变亮。

由于我对 unsigned int 这种方式没有太多经验,我的解决方案只是将值减 1,但这会产生奇怪的结果。有没有一种只改变 RGB 元素并保持 Alpha 不变的好方法?我确实,在我很少的研究中,发现我可以将其他无符号整数相乘以产生我的最终结果,例如 (0xFF * 0x99 * 0x99 * 0x99) 但这仍然在最终结果中留下了 alpha 值变量。

任何帮助是极大的赞赏!