Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
处理负整数的汇编 MASM
我被指示用汇编语言编写一个程序 该程序将执行以下算术 A B C D A E 当没有负值发挥作用时 我成功地做到了这一点 但假设 A 5 B 4 C 3 D 2 和 E 1 这给了我们 5 4 3 2 5 1 或 6 这就是我需要帮助的地方
Assembly
x86
MASM
twoscomplement
irvine32
java中2的十六进制数到十进制的补码
我有一个表示 2 的补码数的十六进制字符串 有没有一种简单的方法 库 函数 可以将十六进制转换为十进制而不直接使用其位 例如 这是左边十六进制的预期输出 0000 gt 0 7FFF gt 32767 max positive number
Java
Hex
twoscomplement
negativenumber
如何检测 2 的补码乘法溢出?
在我正在阅读的一本书中 以下函数用于确定 2 的补码整数乘法溢出 int tmult ok int x int y int p x y return x p x y 虽然这有效 但我如何证明它在所有情况下的正确性 当发生溢出时如何确保 p
c
twoscomplement
C - 转换为 2 补码
我决定这样做 翻转数字 0 1 1 0 LSB 加 1 如果进位 则循环直到 array i 0 但我坚持最后一点 我怎么能在条件循环中这么说呢 您正在谈论扩展算术 大多数处理器都有每次加法运算的进位和溢出结果 但 C 不提供对它们的访问
c
twoscomplement
为什么这个补码捷径有效?
形成二进制数的补码的一种捷径方法是从右侧复制位 直到复制了一位 然后对剩余位求补 反转 这在SO上有解释here https stackoverflow com questions 33592801 converting binary to
twoscomplement
为什么 2 的补码符号扩展通过添加符号位的副本来工作?
我们以将 16 位有符号数符号扩展为 32 位寄存器为例 例如mov 5 ax movswl ax ebx 有两种可能的情况 高位为零 数字为正 这是非常容易理解和直观的 例如 如果我有号码5 左填充零非常容易理解 例如 00000000
Assembly
Binary
BitManipulation
twoscomplement
signextension
左移 1 次 31 (1 << 31) 如何获得最大 int 值?以下是我的想法和网上找到的一些解释
我对位操作相当陌生 我正在尝试弄清楚 1 首先我知道 1 1000000000000000000000000000 我知道它实际上是最小 int 值的补集 但是当我试图算出 1 1000000000000000000000000000000
BitManipulation
max
bit
twoscomplement
仅使用按位函数求出表示 2 的补码需要多少位
我们可以假设 int 是 2 的补码的 32 位 唯一合法的运营商是 gt 此时我正在使用暴力 int a 0x01 x x 1 gt gt 1 have tried with just x instead of x 1 as well a
c
BitManipulation
twoscomplement
bitCount
如果只需要结果的低位部分,可以使用哪种 2 的补码整数运算而无需将输入中的高位清零?
在汇编编程中 想要从寄存器的低位计算某些内容是相当常见的 但不能保证其他位清零 在 C 等高级语言中 您只需将输入转换为小尺寸 然后让编译器决定是否需要分别将每个输入的高位清零 或者是否可以在事实 This is especially co
Assembly
Binary
x86
Integer
twoscomplement
将带符号的十进制转换为使用二进制补码编码的十六进制
我需要编码signed通过二进制补码表示法将整数表示为十六进制 例如我想转换 e g 24375 to 0xffffa0c9 到目前为止 我一直在以下几方面开展工作 parseInt 24375 toString 2 gt 10111110
javascript
twoscomplement
什么是“补码”?
我正在学习计算机系统课程并且已经挣扎 部分地 与二进制补码 http en wikipedia org wiki Two 27s complement 我想理解它 但我读过的所有内容都没有为我提供完整的图片 我读过维基百科文章 http e
结构变量不会因赋值而改变
struct st int a1 3 int a2 2 int a3 1 void main void x a3 1 if x a3 1 printf TRUE n else printf FALSE n x a3 1 if x a3 1
c
struct
signed
bitfields
twoscomplement
Java 中的 String.format() 和十六进制数字
我试图找出原因String format 正在按照它的方式行事 背景 系统编程课 编写汇编程序 目标文件中有一个 5 个字符的十六进制字段 我是根据一个值创建的 尝试使用 String format 05X decInt 这适用于正数 11
Java
string
formatting
Hex
twoscomplement
二进制补码转换
我需要将二进制补码格式的字节转换为正整数字节 范围 128 到 127 映射到 0 到 255 Examples 128 10000000 gt 0 127 01111111 gt 255 etc EDIT为了消除混淆 输入字节 当然 是
c
twoscomplement
带 2 补码的二进制减法
我需要帮助使用 2 的表示形式进行二进制减法 并为每个数字使用 5 位 1 9 7 有溢出吗 9 01001 2 的补码 10111 和 7 00111 2 的补码 11001 现在我们需要添加 因为我们使用的是 2 的补码 10111 1
Binary
subtraction
twoscomplement
sra(算术右移)与 srl(逻辑右移)
请看一下这两段伪汇编代码 1 li t0 53 sll t1 t0 2 srl t2 t0 2 sra t3 t0 2 print t1 print t2 print t3 2 li t0 53 sll t1 t0 2 srl t2 t0
Assembly
MIPS
bitshift
twoscomplement
5位数字可以表示的最大值和最小值是多少?以2的补码表示
假设 2 的补码表示形式的 5 位数字可以表示的最大值和最小值是多少 我是否找到 5 位数字的最小值和最大值 即 00000 但我不确定最大值是多少 然后转换为二进制补码 这听起来很愚蠢 但这是我唯一能想到的 我的最后一个问题是 处理器中存
twoscomplement
datarepresentation
我们是否忽略补码的溢出
我试图解决二进制补码内的溢出问题 例如说我试图去掉这两个二进制数 1111 1000 0100 010 111 001 000 我将第二个二进制数转换为两个补码等值 然后简单地将其相加 但我注意到它导致了 1 的溢出 我是否只是忽略溢出 或
Binary
Overflow
twoscomplement
complement
符号扩展 1 位 2 的补数?
我是一名学生 正在用 C 语言编写一个函数来对给定的位字段进行符号扩展 我正在使用 32 位 我在谷歌上查找了这个答案 但没有找到我想要的东西 我正在编写一个函数 该函数返回从 32 英寸中提取的一个或多个连续位的二进制补码表示形式 最左边
c
Binary
twoscomplement
用 5 位二进制补码表示有符号数的最高和最低整数是多少?
我了解二进制的工作原理 并且可以将二进制计算为十进制 但我对带符号的数字感到困惑 我找到了一个计算器进行转换 但我不确定如何找到最大值和最小值 或者在未给出二进制数的情况下进行转换 并且 StackO 中的问题似乎是关于转换特定数字或不包括
Math
Binary
bit
twoscomplement
1
2
»