问题标签 [unsigned-integer]
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++ - 无符号整数背后的想法
可能重复:
如果我为无符号变量分配负值会发生什么?
我是 C++ 新手,我想知道如何使用无符号类型。对于unsigned int
类型,我知道它可以取 0 到 4294967296 之间的值。但是当我想初始化一个 unsigned int 类型时,如下所示:
输出看起来像4294967286
The got this output = max value - 10
。所以我想了解内存中发生了什么?在此计算继续进行时,正在执行哪些过程?感谢您的回答。
floating-point - 单精度浮点求反的位级表达式
所以我很难实现这个想法。我基本上只是想接受论点'uf'并否定它。我将参数视为 32 位的无符号整数,这相当于单精度浮点数的外观。应该工作相同:有符号位,8 位指数,23 位小数。
但是,当参数为 NaN 时,我只需要返回参数即可。理想情况下,我希望能够在没有任何铸造或高级操作的情况下实现这一点。显然,我应该能够只用按位运算和整数/无符号运算(if、while、||、&&)来做到这一点。
我不知道从哪里开始?我是否只需要提取“uf”的每个部分并分别否定它们(使用按位运算符),然后在最后将它们全部加在一起?我可能会使用 (~uf) + 1 来否定。
对于 NaN,我认识到我只需要检查 8 位部分(exp)中的所有 1 以及小数部分中除 0 之外的任何内容(否则它被认为是无穷大)。
作为重申,这是在 C 中为 32 位系统完成的。
c - 将 unsigned short int 初始化为有符号值
- 这给了我输出 65535。为什么?
- 当我在负侧增加 a 的值时,输出为 (2^16-1=)65535-a。
我知道 unsigned short int 的范围是 0 到 65535。但是为什么在 0 到 65535 的范围内旋转。里面发生了什么?
/li>- 输出为-1。
- %d 用于有符号十进制整数,而不是为什么这里不遵循打印其(int)范围的最大值的规则。
- 为什么这部分的输出是-1?
我知道 %u 用于打印无符号十进制整数。
为什么行为在第二个代码中未定义,而不是在第一个代码中。?
这是我在 gcc 编译器中编译的。这是一个 C 代码在我的机器上 sizeof short int 是 2 个字节,而 int 的大小是 4 个字节。
c - 如何将 char 数组转换为 unsigned int?
我有以下代码:
请告诉我,将“数组”值写入“地址”变量的正确方法是什么?
assembly - Howcome 程序集没有有符号和无符号的减法指令?
我正在为它制作一个虚拟机和一个 C 编译器。我不明白的是大多数指令集如何具有 IMUL 和 IDIV,但没有 ISUB 和 IADD。由于 sub 通常是 unsigned sub 我怎么能在 x86 中做类似的事情
并得到-2?
c++ - 为什么在进行 int / unsigned int 除法时使用 'divl'
我在 X86 中测试了这段代码。
我在这里粘贴汇编代码:
你能告诉我,为什么 int 和 unsigned int 之间的划分使用 divl 而不是 idivl ?
c# - C# int32 文字只能存储在 long 数据类型中
我正在准备一个非常棘手的 c# 考试,并且在这样做的时候突然出现了这个问题。我有以下代码:
-12u
被识别为System.Uint32
文字,但它只能存储在类型的变量中long
。这是为什么 ?
c - C - unsigned int 在赋值时没有得到正确的值
这是来自 gdb:
这是来自代码:
您可以看到 database->size 和 size 都来自 (unsigned int) 类型,在代码和 gdb 中,但由于某种原因,赋值后的值不同。
有谁知道这是什么原因?
python - 在python中将字符串转换为8位有符号整数
我正在尝试使用 python 和 ctypes 将电机控制系统拼凑在一起,我需要做的一件事是获取文本输入并将其转换为 8 位有符号整数。
下面是我试图调用的函数的文档。应该输入到程序中的文本是“EPOS2”
数据类型定义如下图(注意'char*'相当于一个8位有符号整数)
那么如何将“EPOS2”转换为 -128 到 127 之间的值?
最终我想做的是这样的:
java - Java unsigned - remove sign bit
I have this function:
The intent here is to use the value in 'b' as if it were positive, by this I mean as if it were an unsigned int, capable of holding 65536 values. However, it doesn't work. For example:
If 'b == -122' the function returns '65414'.
I also tried this way:
But that would return me '48' if 'b == 304'.
I'm really lost here, hope someone can help out.