问题标签 [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++ - 从无符号到有符号类型安全的转换?
例如,从 a 转换unsigned char *
为 a signed char *
(或只是 a char *
?
mysql - MySQL整数无符号算术问题?
MySQL (5.0.45) 是否喜欢使用无符号数学进行奇怪的内部类型转换?我正在存储无符号整数,但是在选择基本算术时,我得到了令人发指的数字:
我认为这与减法为负有关,因此它试图将结果映射到无符号和溢出?显然,我可以通过将所有内容更改为有符号来解决这个问题,但我更希望我的 32 位整数有更多的正空间。
我以前在 MySQL 上没有遇到过这种情况,我很确定我已经用 unsigned MySQL 算术做了很多事情;这是个常见的问题吗?
c - C Unsigned int providing a negative value?
I have an unsigned integer but when i print it out using %d there is sometimes a negative value there?
java - Java中的无符号短
如何unsigned short
在 Java 中声明一个值?
c++ - 可移植的有符号/无符号字节转换,C++
我正在使用有符号到无符号字节(int8_t)强制转换来打包字节。
这适用于英特尔 Linux 上的 GCC。这对于其他平台/编译器是否可移植,例如 PowerPC?有更好的方法吗?在我的情况下,使用 bitset 是不可能的。我正在通过 boost 使用 stdint
javascript - Javascript 中的无符号整数
我正在处理一个处理 IP 地址信息的页面,但是整数被签名的事实令人窒息。我正在使用按位运算符来加速它,但是第 64 位(有符号/无符号标志)把它搞砸了。
有没有办法强制一个数字在 Javascript 中无符号?它似乎工作正常,直到子网大于 30 或小于 2。
试试这个:
结果:
1073741824 -2147483648 1
java - Java无符号除法没有转换为长?
我编写了一个解释器,要求我对无符号整数执行 32 位除法。在 Java 中,我可以这样做:
但我想避免转换为 long 并返回 int。Java 已经为这种特殊情况提供了无符号右移运算符>>>
,因此也许有一种聪明的方法可以以相同的方式进行无符号除法。
请注意,加法和乘法可以正常工作,因为二进制的补码可以正常工作。
Java中有没有更好的方法来做到这一点?
mips - 为什么对无符号数的 MIPS 运算会给出有符号结果?
当我尝试在 MIPS 中处理无符号整数时,我所做的每个操作的结果都保持有符号(也就是说,整数都是 2 的补码),即使我执行的每个操作都是无符号的:addu
,multu
所以第四个......
当我打印该范围内的数字时,[2^31, 2^32 - 1]
我得到它们的“溢出”负值,就好像它们已签名(我猜它们是)。
虽然,当我尝试这样的事情时:
打印的数字总是2147483647 (2^31 - 1)
我很困惑......我错过了什么?
PS:我没有包含我的代码,因为它不是很易读(例如汇编代码)并且抛开这个问题,似乎工作正常。如果有人觉得有必要,我会立即将其包括在内!
visual-studio-2008 - 在 VB 2008 中,为什么短裤操作比整数需要更长的时间?
在这个例子中:
UInt32 循环我一直得到大约 950 毫秒,UShort 循环大约 1900 毫秒。如果我将 UShort 更改为 Short,我也会得到大约 1900 毫秒。
此外,我可以将第二个循环更改为:
整数循环将始终为 660 毫秒,而 UInt32 循环为 950 毫秒。
与 Short、UShort 和 UInt32 相比,整数是更快的数据类型吗?如果是这样,为什么?
c - 无符号和有符号整数的比较操作
请参阅此代码段
这给出了输出: a is SMALL: 1001
我不明白这里发生了什么。> 运算符在这里如何工作?为什么“a”小于“b”?如果它确实更小,为什么我会得到一个正数(1001)作为差异?