问题标签 [unsigned]
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.
java - 理解 Java 无符号数
我想了解如何将有符号数转换为无符号数。
可以说我有这个:
为了使其无符号,我必须选择“更大”的数据类型“短”并应用值为 0x00ff 的 AND 运算符。
为什么它使数字无符号?
mysql - mySQL 5.0.45 LAST_INSERT_ID() 和大于有符号整数的值
我正在尝试在已超过有符号整数值 2147483647 的自动递增索引上使用 LAST_INSERT_ID。此列是无符号整数。但是, LAST_INSERT_ID() 返回无效的负值。研究这个,我发现了一些评论表明这是这个函数的本质。但我找不到它正式记录。有一些可以追溯到几年前的错误报告仍然存在。
所以我需要知道这是否真的是一个已知的错误和/或我是否可以对此做些什么。我需要将 mySQL 升级到更新版本吗?
c++ - 如果我们添加安全的有符号/无符号比较 C/C++,它会破坏语言或现有代码吗?
在阅读了这个关于有符号/无符号比较的问题之后(我会说他们每隔几天出现一次):
我想知道为什么我们没有正确的有符号无符号比较,而是这个可怕的混乱?从这个小程序中获取输出:
用我的标准编译器(gcc,64位)编译,我得到这个:
如果我编译为 32 位,结果是一样的,除了:
“怎么样?” 所有这些都很容易找到:只需转到 C99 标准的第 6.3 节或 C++ 的第 4 章,然后挖掘描述操作数如何转换为通用类型的子句,如果通用类型重新解释负值,这可能会中断。
但是“为什么?”呢?正如我们所见,'<' 在 50% 的情况下会失败,它还取决于类型的具体大小,因此它取决于平台。以下是需要考虑的几点:
转换和比较过程并不是最小惊喜规则的主要示例
我不相信那里有代码,它依赖于不是由恐怖分子编写的
(short)-1 > (unsigned)1
命题。当你在 C++ 中使用模板代码时,这一切都很糟糕,因为你需要类型特征魔法来编织一个正确的“<”。
毕竟,比较不同类型的有符号和无符号值很容易实现:
如果可以静态证明 a>=0,则预检查很便宜,也可以由编译器优化掉。
所以这是我的问题:
如果我们添加安全的有符号/无符号比较 C/C++,它会破坏语言或现有代码吗?
(“它会破坏语言吗”意味着我们是否需要对语言的不同部分进行大量更改以适应这种变化)
更新: 我已经在我的旧 Turbo-C++ 3.0 上运行了这个并得到了这个输出:
为什么在(signed char)-1 < (unsigned char) == 0
这里?
32bit-64bit - 32位无符号、有符号、64位差异的实际例子
我是一个相当新的程序员,我想知道是否有人可以给我一个实用的解释/示例,说明使用有符号、无符号和 32 位与 64 位之间的区别和用途?
即,我阅读了一篇关于 Twitter 去年如何让开发人员切换到 64 位的文章,但我不确定其中的原因和具体性质。
谢谢!
c - 使用无符号整数时,循环条件在 0 处停止?
我有一个必须从 N 到 0(包括)的循环。我的i
变量的类型size_t
通常是无符号的。我目前正在使用以下代码:
那是对的吗?有没有更好的方法来处理这种情况?
谢谢,
文森特。
java - Preon中的有符号和无符号整数
我想将Preon用于与用 C 编写的服务器进行通信的项目。协议取决于机器的本机字节序(您可以java.nio.ByteOrder.getNative()
在假设 JVM 与服务器具有相同字节序的情况下解决这个问题)并uint64_t
用于数据长度和int32_t
状态码(负值表示错误)。
我在 Preon 文档中找不到有关签名的信息。我快速查看了源代码,发现nl.flotsam.preon.buffer.DefaultBitBuffer
使用了带符号的移位(<<
和>>
),并且几个方法的 javadoc 注释nl.flotsam.preon.buffer.BitBuffer
也表明它使用有符号整数,但 javadoc 注释nl.flotsam.preon.buffer.BitBuffer
说BitBuffer
使用无符号整数。这让我很困惑。
Preon 的默认整数格式是什么?我如何表示uint64_t
和int32_t
?
c++ - 将需要默认字符未签名的代码移植到没有此要求的代码库
我已经解决了许多关于签名/未签名字符的问题。我知道 C++ 中有三种不同的字符类型。目前我有一个用 Visual Studio 编译的大型代码库 - “默认字符无符号”设置设置为“否”。现在我应该将一个特定的项目添加到我们的代码库中(将其集成为我们当前工具集的一部分)。该项目附带一个文档,其中强烈强调它需要默认 char 未签名。
现在我开始怀疑:如果作者需要 char 未签名,为什么他使用“char”而不是“unsigned char”?如果我更改我们的代码库以将“默认无符号字符”设置设置为“是”,会出现什么问题?如果我在我应该添加到我们的代码库中的整个项目中将所有“char”更改为 unsigned char,会出现什么问题?
实际上我可能应该问的是“我应该如何将这个项目添加到我们的代码库而不破坏任何东西”,但这将要求一个解决方案,我不会学到任何东西;)
c++ - 时间:2019-05-10 标签:c++uint,unsignedint,int
嗨,我有一个程序可以处理很多向量和这些向量元素的索引,我想知道:
uint
和之间有区别吗unsigned int
- 最好使用上述类型之一,或者只是使用
int
,因为我读到有人说编译器确实可以更有效地处理 int 值,但是如果我使用了,int
我将不得不始终检查负 idxs,这很痛苦。 - 你认为迭代器更好吗?它比普通索引更有效
vectorx[idx]
吗?
ps 该软件将处理大数据处理,良好的性能是必须的
c - C 中的无符号和有符号值(输出)
的价值是y
多少?这是怎么回事?
c# - “int”和“uint”/“long”和“ulong”有什么区别?
我知道int
and long
(32 位和 64 位数字),但是uint
and是ulong
什么?