twos-complement

    0热度

    2回答

    我试图找出它,但仍然卡住。 比方说,我们有十进制数13(1101在二进制)。在无符号的情况下,我们需要至少4位来表示它(1101,因为它是),但是在2的补码符号中,我们需要5位,MSbit设置为0,因为13是正数?我知道在2的补码中,MSbit表示值(+或 - )的符号。那么它会是01101? 另外,如果MSbit为0,那么这个数字在单数2的补码中仍然是相同的,但是如果它是1,那么将是As = A

    0热度

    3回答

    我需要发送一些命令给我的微控制器。 使用RXTX库的Iam。我可以连接到我的微控制器,但我有问题将我的命令转换为正确的字节。 例如: 我想发送0x80十六进制值。 如果我128的整数(0x80的)转换为字节 byte a = (byte) 128; 我得到-128 范围从Java字节是-128 - 127 ,但我需要发送128为命令。我如何转换它? 我也有其他命令发送。 80 20 F2 4

    0热度

    1回答

    我想86教我,我已经在整个运行需要返回立即,负数: .text .align 4,0x90 .globl _scheme_entry _scheme_entry: movl $-42, %eax ret 当我打印这个功能(printf("%" PRIdPTR "\n", scheme_entry())的返回值,我得到一个废话号: $ ./neg 429496

    1热度

    2回答

    我想将一个整数转换为一个字节串的数组。 def int2Hex(): hex = '%08x' % 32 bytes = [] for i in range(0,4): bytes.append('0x' + hex[i*2: i*2 + 2]) return bytes[::-1] #return in little endian 上面

    3热度

    1回答

    在回答,jww指出,1的补数是基于英特尔架构的编码向量指令仍在使用,并鲁斯兰澄清这些指令被使用较多的自动向量化变得普遍。 有1的补数的优势,导致它继续在这些指令中使用,或者是它只是被用于历史的原因? 引用JWW: 从Intel® 64 and IA-32 Architectures Software Developer’s Manual 2A,3-8页: 3.1.1.8描述章节 每个指令然后由信息

    -1热度

    3回答

    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.

    1热度

    2回答

    我已经阅读了溢出意味着两个定义。 说,我们有如下补充: 11111111 00000001 -------- 100000000 我看过的第一个定义是这样一个事实,结果没有融入8位(它需要9位在这个例子中),那么这被称为溢出。 我看过其他的定义是,如果我们有另外两个有符号整数(例如两个互补整数): 10011001 10111011 -------- 101010100 这时如

    0热度

    2回答

    在为我的6502/NES仿真器创建指令函数时,我陷入了理解6502中的带符号字节和2的补码的概念。显然,诸如BMI的分支指令在内存中使用带符号字节来执行向前/向后分支,有些指令允许使用负数进行算术运算。负标志也检测累加器的第7位。 (二的补码) 这是否意味着内存中的所有字节都有符号,我可以将内存初始化为int8_t CPUMEMORY[0x10000];而不是uint8_t CPUMEMORY[0

    -1热度

    1回答

    如果我们使用七位二进制补码表示整数,什么是 可以用这种方式表示的整数(东西)? 可以用这种方式表示的最小(最多)负整数? 可以用这种方式表示的最大正整数? 这是一个CS作业问题,我有麻烦回答和解释。任何帮助,将不胜感激。

    1热度

    2回答

    我在一家二的补偿系统看 0x0 - 0x21524111 。我知道答案(DEADBEEF),但我不确定如何有效地找出这些类型的减法。由于我不能用0x0做结转,我应该怎么做才能得到结果?