Tag: 无符号

std :: is_unsigned <bool> :: value是否定义良好?

我想知道是否 std::is_unsigned<bool>::value 根据标准是否明确定义? 我问这个问题,因为typename std::make_unsigned<bool>::type没有很好的定义。

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

通过使用无符号整数而不是有符号整数有什么性能增益/损失? 如果是这样,这是否也是短期和长期?

“int”和“uint”/“long”和“ulong”有什么区别?

我知道int和long (32位和64位数字),但是什么是uint和ulong ?

什么是无符号数据types?

我已经看过这个unsigned “无types”types,但是从来没有看到过它的解释。 我想有一个相应的signedtypes。 这是一个例子: static unsigned long next = 1; /* RAND_MAX assumed to be 32767 */ int myrand(void) { next = next * 1103515245 + 12345; return(( unsigned )(next/65536) % 32768); } void mysrand( unsigned seed ) { next = seed; } 我到目前为止收集到的: – 在我的系统上, sizeof(unsigned) = 4 (提示32位无符号整数) – 它可以用作将另一个types转换为未签名版本的简写forms: signed long int […]

C ++中的无符号关键字

在C ++中,unsigned关键字是否默认为特定的数据types? 我正在为原型编写一个类的函数: unsigned Rotate(unsigned object, int count) 但是我真的不知道什么是unsigned意思。 不应该像unsigned int或东西?

“strlen(s1) – strlen(s2)”永远不会小于零

我目前正在编写一个C程序,需要经常比较string长度,所以我写了下面的帮助函数: int strlonger(char *s1, char *s2) { return strlen(s1) – strlen(s2) > 0; } 我注意到,即使当s1长度比s2短,函数也会返回true。 有人能解释这种奇怪的行为吗?

在Java中声明一个unsigned int

有没有办法在Java中声明一个unsigned int? 或者这个问题也可能被这样描述:什么是Java的无符号等价? 只是为了告诉你我正在看Java的String.hashcode()的实现的上下文。 我想testing碰撞的可能性,如果整数是32 unsigned int。

如何在C中打印“unsigned long”?

我永远不能理解如何在C中打印unsigned long数据types 假设unsigned_foo是一个unsigned long ,那么我试试: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo) printf("%ll\n", unsigned_foo) printf("%ld\n", unsigned_foo) printf("%dl\n", unsigned_foo) 而他们都打印某种-123123123号码,而不是unsigned long ,我有。

为什么C没有unsigned浮点数?

我知道,这个问题似乎很奇怪。 程序员有时会想太多。 请继续阅读… 在CI中使用有符号和无符号整数很多。 我喜欢这样一个事实,即编译器会警告我,如果将某个有符号整数赋值给一个无符号variables。 我收到警告,如果我比较签名与无符号整数和更多。 我喜欢这些警告。 他们帮助我保持我的代码正确。 为什么我们没有同样的花车奢侈品? 平方根绝对不会返回负数。 还有其他的地方,负浮动值没有意义。 完美的候选人一个无符号的浮点数。 顺便说一句 – 我不是真的热衷于我可以通过从浮标移除符号标志获得一个额外的精度。 我现在对float很满意。 我只想把浮点数标记为unsigned,得到与整数相同的警告。 我不知道任何支持无符号浮点数的编程语言。 任何想法,为什么他们不存在? 编辑:我知道x87 FPU有没有处理未签名的浮动指令。 让我们只使用签署的浮动指令。 误用(例如,低于零)可能被认为是未定义的行为,就像未定义有符号整数的溢出一样。

无符号整数在Javascript中

我正在处理一个处理IP地址信息的页面,但是对整数签名这一事实感到窒息。 我正在使用按位运算符来加速它,但是第64位(有符号/无符号的标志)正在搞乱它。 有什么办法强制一个数字在Javascript中未签名? 它似乎工作正常,直到子网大于30,或小于2。 尝试这个: <html> <body> <script type='text/javascript'> document.write( (1 << 30) +"<br/>"); document.write( (1 << 31) +"<br/>"); document.write( (1 << 32) +"<br/>"); </script> </body> </html> 结果: 1073741824 -2147483648 1