unsigned相关内容
在 C++ 中迭代向量的正确方法是什么? 考虑这两个代码片段,这个可以正常工作: for (unsigned i=0; i 还有这个: for (int i=0; i 生成警告:有符号和无符号整数表达式之间的比较. 我是 C++ 世界的新手,所以 unsigned 变量对我来说看起来有点吓人,我知道 unsigned 变量如果使用不当会很危险,所以 - 这是正确的吗?
..
我知道 unsigned int 不能保存负值.但以下代码编译时没有任何错误/警告. unsigned int a = -10; 当我打印变量 a 时,打印出错误的值.如果无符号变量不能保存有符号值,为什么编译器允许它们编译而不给出任何错误/警告? 有什么想法吗? 编辑 编译器:VC++编译器 解决方案 需要使用警告级别 4. 解决方案 Microsoft
..
在 Oracle“原始数据类型"中页面,它提到 Java 8 添加了对无符号整数的支持和多头: int:默认情况下,int 数据类型是一个 32 位有符号二进制补码整数,其最小值为 -231 和最大值 231-1.在 Java SE 8 及更高版本中,您可以使用 int 数据类型来表示一个无符号的 32 位整数,其最小值为 0,最大值为 232-1. 使用Integer 类将int 数据类型
..
如何在 Java 中声明 unsigned short 值? 解决方案 你不能,真的.Java 没有任何无符号数据类型,除了 char. 诚然,您可以使用 char - 它是一个 16 位无符号类型 - 但在我看来这会很糟糕,因为 char 是显然是用于文本:当代码使用 char 时,我希望它用于表示程序感兴趣的文本的 UTF-16 代码单元,而不是没有关系的任意无符号 16 位整数
..
我见过这种 unsigned “typeless" 类型使用过几次,但从未见过对它的解释.我想有一个相应的 signed 类型.举个例子: static unsigned long next = 1;/* RAND_MAX 假定为 32767 */int myrand(void) {下一个 = 下一个 * 1103515245 + 12345;返回((无符号)(下一个/65536)%32768)
..
我对 size_t 感到很困惑.我在互联网上搜索过,到处都提到 size_t 是无符号类型,因此它只能表示非负值. 我的第一个问题是:如果只用来表示非负值,为什么不用unsigned int 代替size_t? 我的第二个问题是:size_t 和 unsigned int 是否可以互换?如果没有,那为什么? 谁能给我一个 size_t 的好例子并简要介绍它的工作原理? 解决
..
我知道,这个问题似乎很奇怪.程序员有时想得太多.请继续阅读... 在 C 中,我经常使用 signed 和 unsigned 整数.我喜欢这样一个事实,即编译器会在我执行诸如将有符号整数分配给无符号变量之类的操作时警告我.如果我将有符号整数与无符号整数等进行比较,我会收到警告. 我喜欢这些警告.他们帮助我保持代码正确. 为什么我们对花车没有同样的奢侈?平方根绝对不会返回负数.还有
..
所以我知道 signed int 和 unsigned int 之间的区别在于,一个位用于表示数字是正数还是负数,但这是如何实现的适用于 char?一个字符怎么可能是积极的或消极的? 解决方案 C 语言中没有专门的“字符类型".char 是整数类型,与 int、short 和其他整数类型相同(在这方面).char 恰好是最小的整数类型.因此,就像任何其他整数类型一样,它可以是有符号或无符号
..
请看一下这个简单的程序: #include #include 使用命名空间标准;int main() {向量一个;std::cout
..
这是一个相当愚蠢的问题,但为什么在 C 或 C++ 中为数组定义 for 循环时通常使用 int 而不是 unsigned int? for(int i;i 我认识到在做数组索引以外的事情时使用 int 的好处,以及在使用 C++ 容器时使用迭代器的好处.仅仅是因为在循环数组时无关紧要吗?或者我应该一起避免它并使用不同的类型,例如 size_t? 解决方案 这是一个更普遍的现象,通常人
..
查看此代码片段 int main(){无符号整数 a = 1000;int b = -1;if (a>b) printf("A 很大!%d\n", a-b);else printf("a 很小!%d\n", a-b);返回0;} 这给出了输出:a is SMALL: 1001 我不明白这里发生了什么.> 运算符在这里如何工作?为什么“a"比“b"小?如果它确实更小,为什么我得到一个正数(
..
我很想知道如果我将一个负值赋给一个无符号变量会发生什么. 代码看起来有点像这样. unsigned int nVal = 0;nVal = -5; 它没有给我任何编译器错误.当我运行程序时,nVal 被分配了一个奇怪的值!会不会是一些 2 的补码值被分配给了 nVal? 解决方案 官方回答 - 第 4.7 节 conv.integral "如果目标类型是无符号的,则结果值是
..
视频“Gangnam Style"(我相信你已经听说过)在 youtube 上的观看次数刚刚超过 20 亿.事实上,谷歌表示他们从未期望视频大于 32 位整数......这暗示谷歌使用 int 而不是 unsigned他们的观点计数器.我认为他们不得不稍微重新编写代码以适应更大的视图. 检查他们的风格指南:https://google-styleguide.googlecode.com/sv
..
有没有办法在 Java 中声明一个 unsigned int? 或者这个问题也可以这样设计:无符号的 Java 等价物是什么? 只是为了告诉您我正在查看 Java 的 String.hashcode() 实现的上下文.如果整数是 32 unsigned int,我想测试碰撞的可能性. 解决方案 Java 没有 无符号整数. 您可以定义一个long 而不是 int.
..
为什么 Java 不支持无符号整数? 在我看来,这是一个奇怪的遗漏,因为它们允许编写的代码不太可能在意外大输入时产生溢出. 此外,使用无符号整数可以是一种自我证明的形式,因为它们表明无符号整数打算保存的值永远不应该是负数. 最后,在某些情况下,无符号整数对于某些运算(例如除法)可能更有效. 包含这些有什么缺点? 解决方案 这是来自 采访Gosling 和其他人,关于
..
我正在尝试将有符号字节转换为无符号字节.问题是我收到的数据是无符号的,Java 不支持无符号字节,所以当它读取数据时,它把它当作有符号的. 我尝试通过以下从 StackOverflow 获得的解决方案来转换它. public static int unsignedToBytes(byte a){int b = a &0xFF;返回 b;} 但是当它再次转换为字节时,我得到相同的签名数据.
..
视频“Gangnam Style"(我相信你已经听说过)在 youtube 上的观看次数刚刚超过 20 亿.事实上,谷歌表示他们从未期望视频大于 32 位整数......这暗示谷歌使用 int 而不是 unsigned他们的观点计数器.我认为他们不得不稍微重新编写代码以适应更大的视图. 检查他们的风格指南:https://google-styleguide.googlecode.com/sv
..
有人可以澄清 C# is 关键字吗?特别是这两个问题: Q1) 第 5 行;为什么这会返回 true? Q2) 第 7 行;为什么没有演员表异常? public void Test(){object intArray = new int[] { -100, -200 };if (intArray is uint[])//为什么返回true?{uint[] uintArray = (u
..
我使用本机无符号长型变量作为缓冲区,用于在其中包含两个无符号短型变量.根据我对 C++ 的了解,它应该是一种有效的方法.我使用这种方法多次将 2 个 unsigned char 存储在一个 unsigned short 中,没有任何问题.不幸的是,当在不同的架构上使用它时,它的反应很奇怪.似乎在第二次分配后更新值.(Overflow) 案例只是为了演示它.谁能解释一下为什么它会有这种反应? un
..
我们有一个小程序需要某些权限,我们签署并授予所有权限. 然而,在开发时我们使用未签名的小程序. 我们在用户的主目录中的 .java.policy 文件中设置了所有权限. 这已在 1.7.0_45(或可能是 _40)中停止工作,因为未签名的小程序不再具有额外权限. 我们看到了这样的错误: 引起:java.security.AccessControlException: access d
..