标签: unsigned

无法摆脱"此十进制常量仅在ISO C90中无符号"警告

我在我的哈希表实现上使用FNV哈希作为哈希算法,但我在这一行的问题标题中收到警告:

unsigned hash = 2166136261;
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会这样,因为当我这样做时:

printf("%u\n", UINT_MAX);
printf("2166136261\n");
Run Code Online (Sandbox Code Playgroud)

我明白了:

4294967295
2166136261
Run Code Online (Sandbox Code Playgroud)

这似乎是在我的机器的限制下......

为什么我会收到警告,有什么方法可以摆脱它?

c unsigned warnings constants c89

29
推荐指数
1
解决办法
2万
查看次数

无符号双人

我需要使用unsigned double,但事实证明C#不提供这样的类型.

有谁知道为什么?

c# double unsigned

29
推荐指数
2
解决办法
2万
查看次数

将unsigned char*转换为String

我在铸造方面有点差.我有一个字符串xmlChar*(这是unsigned char*),我想将这个unsigned char转换为一个std::string类型.

xmlChar* name = "Some data";
Run Code Online (Sandbox Code Playgroud)

我尽力输入,但我无法转换它.

c++ unsigned casting tizen

28
推荐指数
1
解决办法
7万
查看次数

C/C++使用int或unsigned int

在很多代码示例,源代码,库等中.我看到使用int时,就我所知,unsigned int更有意义.

我看到很多的地方是for循环.见下面的例子:

for(int i = 0; i < length; i++)
{
    // Do Stuff
}
Run Code Online (Sandbox Code Playgroud)

为什么你会使用一个int而不是一个unsigned int?这只是懒惰 - 人们不会打字打扰unsigned吗?

c c++ int unsigned types

28
推荐指数
3
解决办法
2万
查看次数

为什么std :: streamsize被定义为signed而不是unsigned?

根据http://en.cppreference.com/w/cpp/io/streamsize

类型std :: streamsize是一个带符号的整数类型,用于表示在I/O操作中传输的字符数或I/O缓冲区的大小.

据我所知,流的大小永远不会是负数,因此,我的问题是:

为什么std::streamsize定义为签名而不是未签名?背后的理由是什么?

c++ unsigned signed iostream language-lawyer

28
推荐指数
1
解决办法
3941
查看次数

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

C是否处理十六进制常量(例如0x23FE)和signed或unsigned int?

c hex unsigned signed constants

27
推荐指数
3
解决办法
3万
查看次数

有符号和无符号int之间的强制转换是否在内存中保持变量的精确位模式?

我想x通过套接字传递一个32位有符号整数.为了让接收器知道预期的字节顺序,我htonl(x)在发送之前调用.htonl期待一个,uint32_t但我想确定当我把我int32_t带到一个时会发生什么uint32_t.

int32_t x = something;
uint32_t u = (uint32_t) x;
Run Code Online (Sandbox Code Playgroud)

总是这样的情况,每个字节xu每个字节都完全相同吗?怎么回事:

uint32_t u = something;
int32_t x = (int32_t) u;
Run Code Online (Sandbox Code Playgroud)

我意识到负值会转换为大的无符号值,但这并不重要,因为我只是回到了另一端.但是,如果使用实际字节进行混乱,那么我无法确定返回将返回相同的值.

c int unsigned casting htonl

27
推荐指数
2
解决办法
2万
查看次数

c ++ uint,unsigned int,int

嗨,我有一个程序,处理很多这些向量的元素的向量和索引,我想知道:

  1. uint和之间有区别吗?unsigned int
  2. 哪个更好地使用上述类型之一或只是使用,int因为我读了一些人说编译器确实更有效地处理int值,但如果我使用int我将不得不总是检查负idxs这是痛苦.
  3. 你认为迭代器更好吗?它比普通索引更有效vectorx[idx]吗?

ps软件将处理大数据流程,良好的性能是必须要求的

c++ indexing int unsigned iterator

25
推荐指数
1
解决办法
7万
查看次数

有符号和无符号之间的减法,然后是除法

以下结果让我很困惑:

int i1 = 20-80u;    // -60
int i2 = 20-80;     // -60
int i3 =(20-80u)/2; // 2147483618
int i4 =(20-80)/2;  // -30
int i5 =i1/2;       // -30
Run Code Online (Sandbox Code Playgroud)
  1. i3似乎计算为(20u-80u)/2,而不是(20-80u)/2
  2. 据说i3是一样的i5.

c++ unsigned arithmetic-expressions integer-overflow

25
推荐指数
2
解决办法
1485
查看次数

表达式'i <0'始终为假

对于以下代码段:

size_t i = 0;
std::wstring s;
s = (i < 0)   ? L"ABC" : L"DEF";
s = (i != -1) ? L"ABC" : L"DEF";
Run Code Online (Sandbox Code Playgroud)

i < 0正如预期的那样,PVS-Studio分析记录第一个条件的警告:

V547 Expression 'i < 0' is always false. Unsigned type value is never < 0. test_cpp_vs2017.cpp 19

例如,为什么PVS不会发出关于第二个,也是可疑情况的警告,并将其i != -1报告为总是如此?

c++ unsigned static-analysis pvs-studio

25
推荐指数
3
解决办法
4196
查看次数