问题标签 [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.
c++ - 迭代 std::vector:无符号与有符号索引变量
在 C++ 中迭代向量的正确方法是什么?
考虑这两个代码片段,这个工作正常:
和这个:
生成warning: comparison between signed and unsigned integer expressions
.
我是 C++ 领域的新手,所以这个unsigned
变量对我来说看起来有点吓人,我知道unsigned
如果使用不当,变量会很危险,所以 - 这是正确的吗?
java - 为什么 Java 不支持无符号整数?
为什么 Java 不包含对无符号整数的支持?
在我看来,这是一个奇怪的遗漏,因为它们允许人们编写不太可能在意外大输入时产生溢出的代码。
此外,使用无符号整数可以是一种自我证明的形式,因为它们表明无符号整数打算保存的值永远不会是负数。
最后,在某些情况下,无符号整数对于某些操作(例如除法)可能更有效。
包含这些有什么缺点?
java - Java相当于unsigned long long?
在 C++ 中,我喜欢访问 64 位无符号整数 viaunsigned long long int
或 via uint64_t
。现在,我知道,在 Java 中 long 是 64 位。但是,它们已签名。
是否有可用作 Java 原语的 unsigned long (long)?我该如何使用它?
c - 为什么 C 没有无符号浮点数?
我知道,这个问题似乎很奇怪。程序员有时想得太多。请继续阅读...
在 CI 中使用signed
和unsigned
整数很多。我喜欢这样一个事实,即如果我执行诸如将有符号整数分配给无符号变量之类的操作,编译器会警告我。如果我比较有符号整数和无符号整数等等,我会收到警告。
我喜欢这些警告。他们帮助我保持我的代码正确。
为什么我们对花车没有同样的奢侈?平方根绝对不会返回负数。还有其他地方负浮点值没有意义。无符号浮点数的完美候选者。
顺便说一句 - 我并不热衷于通过从浮点数中删除符号位可以获得的单个额外精度。我float
对现在的 s 非常满意。我有时只想将浮点数标记为无符号,并得到与整数相同的警告。
我不知道任何支持无符号浮点数的编程语言。
知道为什么它们不存在吗?
编辑:
我知道 x87 FPU 没有处理无符号浮点数的指令。让我们只使用签名的浮点指令。滥用(例如低于零)可以被视为未定义的行为,就像未定义有符号整数的溢出一样。
c# - 为什么 C# 中的“int[] 是 uint[] == true”
有人可以澄清一下 C#is
关键字吗?特别是这两个问题:
Q1) 第 5 行;为什么这会返回 true?
Q2) 第 7 行;为什么没有演员表异常?
MSDN 的描述没有说明情况。它声明is
如果满足这些条件中的任何一个,它将返回 true。(http://msdn.microsoft.com/en-us/library/scekt9xw(VS.71).aspx>MDSN 文章)
我不相信您可以将 int[] 有效地转换为 uint[]。因为:
A)此代码无法编译:
B)在调试器中进行强制转换会产生错误:
果然,如果第 3 行是 int[] 而不是 object 那么它永远不会编译。这让我想到了与 Q2 相关的最后一个问题。
Q3) 为什么 C# 在调试器和编译器中会引发转换/转换错误,但在运行时不会?
language-agnostic - 有符号变量和无符号变量有什么区别?
我在 C 和 C++ 的上下文中看到了这些,但是有符号变量和无符号变量有什么区别?
c# - C#:无法从 ulong 转换为字节
奇怪我怎么能在 C++ 中做到这一点,但在 C# 中却不行。
为了清楚起见,我将在 C++ 中粘贴这两个函数,然后在 C# 中粘贴,并在 C# 代码中用注释“//error”标记有问题的行。这两个函数所做的是对参数进行编码,然后将其添加到名为 byte1seeds 的全局变量中。
这些是 C++ 中的函数
现在是 C# 代码:
我更改了函数 GenerateValue。它没有将指针作为参数,而是有一个 ulong 参数。
要调用它并更改我使用的两个值:
- ulong mut1 = GenerateValue(mut);
- 穆特=穆特1;
这是翻译后的函数(有问题的行用“//error”标记);
错误是:
无法将类型“ulong”隐式转换为“byte”。存在显式转换(您是否缺少演员表?)
编辑:有问题的第 3 行的错误是:
无法将类型“int”隐式转换为“byte”。存在显式转换(您是否缺少演员表?)
问题来了:如何解决这些错误?
提前致谢!
c++ - 为什么将有符号值分配给无符号整数时编译器不给出错误?- C++
我知道unsigned int不能保存负值。但是以下代码编译时没有任何错误/警告。
当我打印变量a时,我打印了一个错误的值。如果无符号变量不能保存有符号值,为什么编译器允许它们编译而不给出任何错误/警告?
有什么想法吗?
编辑
编译器:VC++编译器
解决方案
需要使用警告级别 4。
c++ - 将一个无符号字符数组转换为一个浮点数组
在 C++ 中将无符号字符数组转换为浮点数组的最佳方法是什么?
我目前有一个for循环如下
我还需要反转过程,即从无符号字符转换为浮点数(浮点数到8位转换)
任何意见,将不胜感激
谢谢
c++ - 如何确定 unsigned char* 的长度?
如何确定 unsigned char* 的长度?