unsigned相关内容

IS(Int)(无符号)-1==未定义的行为

我在试着理解这句话的意思: (int)(unsigned)-1 == -1; 根据我目前的理解,会发生以下情况: -1是签名int,并强制转换为无签名int。这样做的结果是,由于回绕行为,我们获得了可以由unsigned类型表示的最大值。 接下来,我们在步骤1中获得的unsigned类型的最大值现在强制转换为signed int。但请注意,此最大值是unsigned type ..
发布时间:2022-03-22 10:54:51 C/C++开发

无法摆脱“这个十进制常量仅在 ISO C90 中是无符号的";警告

我在我的哈希表实现中使用 FNV 哈希作为哈希算法,但我在这一行的问题标题中收到警告: 无符号哈希 = 2166136261; 我不明白为什么会这样,因为当我这样做时: printf("%u\n", UINT_MAX);printf("2166136261\n"); 我明白了: 42949672952166136261 这似乎在我的机器的限制之下...... 为什么我会收到警告, ..
发布时间:2022-01-23 23:52:15 其他开发

C中的无符号十六进制常量?

C 是否处理十六进制常量(例如 0x23FE)和有符号或无符号整数? 解决方案 数字本身总是被解释为非负数.十六进制常量没有符号或任何固有的方式来表示负数.常量的类型是其中第一个可以表示其值的类型: int无符号整数长整数无符号长整数长长整数unsigned long long int ..
发布时间:2022-01-23 23:14:14 其他开发

是否有用于无符号数字类型包装器的 Java 库?

显然,Java 本身不支持无符号数字类型,这不是很快就会改变(从 2002 年开始的评论).但是,在使用数据库(例如 MySQL)时,它们可能会时不时地派上用场.关于如何模拟无符号数有很多问题.例如: java中的unsigned short Java:无符号数 理解 Java 无符号数 所有这些都从表面上描述了它可以如何完成.但是是否有任何库实际上一直在为 UByte、UShor ..
发布时间:2022-01-17 09:32:51 Java开发

为什么 C 和 C++ for 循环使用 int 而不是 unsigned int?

这是一个相当愚蠢的问题,但为什么在 C 或 C++ 中为数组定义 for 循环时,通常使用 int 而不是 unsigned int? for(int i;i 我认识到在执行数组索引以外的操作时使用 int 的好处以及在使用 C++ 容器时使用迭代器的好处.仅仅是因为在遍历数组时无关紧要吗?或者我应该一起避免它并使用不同的类型,例如 size_t? 解决方案 这是一个更普遍的现象,通常 ..
发布时间:2022-01-14 14:43:00 其他开发

C中无符号和无符号int之间的区别

您能否说明一下unsigned 和unsigned int 之间的区别?也许一些示例代码会有所帮助. 解决方案 unsigned 是一个修饰符,可以应用于任何整数类型(char, short、int、long 等),但就其本身而言,它与 unsigned int 相同. ..
发布时间:2022-01-14 14:20:57 其他开发

无符号与有符号整数的性能

使用无符号整数而不是有符号整数是否有任何性能增益/损失? 如果是这样,这是否也适用于短期和长期? 解决方案 使用 unsigned int 除以 2 的幂更快,因为它可以优化为单个移位指令.对于 signed int,它通常需要更多的机器指令,因为除法 向零舍入,但向右移动 向下.示例: int foo(int x, unsigned y){x/= 8;y/= 8;返回 x + y ..
发布时间:2022-01-14 14:17:51 C/C++开发

C Unsigned int 提供负值?

我有一个无符号整数,但是当我使用 %d 打印出来时,有时会出现负值? 解决方案 打印 %d 会将整数读取为带符号的十进制数,而不管其定义的类型. 要打印无符号数,请使用 %u. 这是因为 C 处理变量参数的方式.编译器只是从堆栈中提取值(类型为 void* 并指向调用堆栈)并且 printf 必须从您提供的格式字符串中找出数据包含的内容它到. 这就是您需要提供格式字符串的 ..
发布时间:2022-01-14 14:12:50 其他开发

为什么负整数大于无符号整数?

int main(void){无符号整数 y = 10;诠释 x = – 4;如果 (x > y)Printf("x 更大");别的Printf("y 更大");getch();返回(0);}输出:x 更大 我认为输出 y 会更大,因为它是无符号的.这背后的原因是什么? 解决方案 因为 int 值被提升为 unsigned int.特别是在 32 位机器上的 0xFFFFFFFC,作为 ..
发布时间:2022-01-14 14:12:01 其他开发

在 Java 中声明一个 unsigned int

有没有办法在 Java 中声明一个 unsigned int? 或者问题也可以这样表述:无符号的 Java 等价物是什么? 只是为了告诉你我正在查看 Java 的 String.hashcode() 实现的上下文.如果整数是 32 unsigned int,我想测试碰撞的可能性. 解决方案 Java 没有 无符号整数. 您可以定义一个 long 如果您需要存储大值,而不是 ..
发布时间:2022-01-14 14:05:35 Java开发

有符号整数与无符号整数

我是否正确地说有符号整数和无符号整数之间的区别是: 无符号可以容纳更大的正值,而没有负值. 无符号使用前导位作为值的一部分,而有符号版本使用最左边的位来识别数字是正数还是负数. 有符号整数可以同时包含正数和负数. 还有其他区别吗? 解决方案 无符号可以容纳更大的正值,没有负值. 是的. 无符号使用前导位作为值的一部分,而有符号版本使用最左边的位来识别数字是正 ..
发布时间:2022-01-14 14:03:42 其他开发

为什么-1 >大小(整数)?

考虑以下代码: 模板类静态断言;模板类 StaticAssert{};静态断言 sizeof(int)) >xyz2;//行 为什么是 -1 >sizeof(int) 是吗? -1是不是真的提升为unsigned(-1)然后unsigned(-1)>sizeof(int). -1 > 是真的吗?sizeof(int) 等价于 -1 >size_t(4) 如果 sizeo ..
发布时间:2022-01-12 23:44:28 C/C++开发

如果我为无符号变量分配负值会发生什么?

我很想知道如果我将一个负值赋给一个无符号变量会发生什么. 代码看起来有点像这样. 无符号整数 nVal = 0;nVal = -5; 它没有给我任何编译器错误.当我运行程序时, nVal 被分配了一个奇怪的值!会不会是一些 2 的补码被分配给 nVal? 解决方案 官方解答 - 第 4.7 节 conv.integral "如果目标类型是无符号的,则结果值是与源整数一致的最 ..
发布时间:2022-01-12 23:32:07 C/C++开发

Gcc:强制编译器默认使用无符号字符

由于当 unsigned 限定符不存在时,C++ 中 char 的性质是依赖于编译器的,是否有一个参数可以传递给 GCC,它会 强制将所有char编译为unsigned? 解决方案 你要找的标志是-funsigned-char. 来自文档: -funsigned-char 让char类型是无符号的,如unsigned char. 每种机器都有一个默认的 char 应 ..
发布时间:2022-01-12 20:31:49 C/C++开发

为什么char的符号没有在C中定义?

C 标准规定: ISO/IEC 9899:1999, 6.2.5.15(第 49 页) 三种类型 char、signed char 和unsigned char 统称为字符类型.这实现应将 char 定义为具有相同的范围,表示,和行为作为有符号字符或无符号字符. 确实 gcc 根据目标平台定义. 我的问题是,为什么标准会这样做?除了可怕且难以发现的错误之外,我看不到任何来自 ..
发布时间:2022-01-12 20:19:09 其他开发

时间:2019-05-10 标签:c++uint,unsignedint,int

您好,我有一个程序处理大量向量和这些向量元素的索引,我想知道: uint和unsigned int有区别吗 最好使用上述类型之一或仅使用 int 因为我读到有人说编译器确实更有效地处理 int 值,但如果我使用 int我必须始终检查是否有负 idxs,这很痛苦. 您认为迭代器更好吗?它比普通索引 vectorx[idx] 更有效吗? p.s 该软件将处理大数据处理,必须具备良好的性 ..
发布时间:2022-01-10 14:57:44 C/C++开发

无符号整数中的 C 反转位

我正在使用按位运算符将无符号整数转换为二进制,目前正在使用整数 &1 检查位是 1 还是 0 并输出,然后右移 1 以除以 2.但是位以错误的顺序返回(反转),所以我想在开始之前反转整数中的位顺序. 有没有简单的方法来做到这一点? 示例:所以如果给我 unsigned int 10 = 1010 while (x not eq 0)如果 (x & 1)输出一个'1'别的输出一个'0' ..
发布时间:2022-01-09 19:09:15 其他开发