首页 文章
  • 49 votes
     answers
     views

    Python的两个补充

    python中是否有内置函数将二进制字符串(例如'111111111111')转换为two's complement integer -1?
  • 0 votes
     answers
     views

    两个补码减法

    -5-8我们是否必须以2的补码形式表示两个整数然后加上?
  • 3 votes
     answers
     views

    两个补充的劣势?

    我正在阅读有关两个补码的内容,我知道这种方法效率最高,但也可能存在一些缺点 . 我找不到任何缺点,是否有任何情况下转换为二的补码可能无法正确表示数字?
  • 1 votes
     answers
     views

    两个补充 - 如何处理负数?

    我的理解是使用两个人的赞美来否定数字,我的理解是:!num 1.所以我的问题是这是否意味着,对于变量'foo'= 1,否定'foo'将是正确的与变量'bar'相同= 255 . 如果我们要检查-'foo'=='bar'或if -'foo'== 255,我们会得到它们是平等的吗?我知道有些语言,比如Java,会保留一个符号 - 因此比较会产生错误 . 什么语言不?我假设汇编程序/本机没有符号位 . ...
  • 1 votes
     answers
     views

    带分数的二进制的二进制补码

    问题是找到8位二进制数(-00101.110)的2的补码 . 所以我不明白如何处理小数部分 . 我认为1的补码将是11010.001是11010.010的2的补码吗?这些是我需要的8位作为-00101.110的2s补码的最终答案吗?
  • 2 votes
     answers
     views

    如何从一个's complement to two'补充转换

    我很困惑如何从一个补码转换为两个补码 . 假设我们有一个补码10101101 . 如何将其转换为二进制补码? 谢谢
  • 2 votes
     answers
     views

    为什么这两个补码快捷方式有效?

    形成二进制数的二进制补码的快捷方法是从右侧复制位直到复制一位,然后补充(反转)其余位 . 这是在SO here以及Wikipedia上解释的 . 没有解释的是为什么这个快捷方式有效,也就是说,为什么它产生与反转所有位并添加一个相同的结果 . 所以,我的问题是,为什么这有效?
  • 1 votes
     answers
     views

    标准化浮点表示

    我正在努力帮助某人完成一些功课,而我却得到了错误的答案 . 问题是: 代表〖-0.109375〗_10在归一化浮点表示中具有5位小数2的补码尾数和3位整数2的补码指数 . 我写了以下笔记: 让我们找出问题的答案:〖-0.109375〗_10第1步:转换为二进制 . 0 0. 0 0 0 1 1 1 0 0 〖 - (00.00011100)〗_ 2 第二步:乘以1(2 ^ 0)〖 - (00....
  • 0 votes
     answers
     views

    将十六进制转换为二进制,将一位和二位的补码转换为16位

    我试图将FFAD(十六进制)转换为十进制值,然后对其执行一个和两个补码 . FFAD表示为16位整数 . 当我将FFAD转换为基数2时,我得到1111111110101101 . 我的问题是我怎么知道它是否是负数? 我有二进制,现在做一些补码正常我会将最后一位从0更改为1然后翻转所有位,但作为一个16位整数我没有任何更多的可用位 . 由于第16位是1,这是否意味着它是负数?我该怎么做呢?我只是对...
  • 0 votes
     answers
     views

    VHDL将std_logic_vector中的数据签名为无符号数据

    我在FPGA板上有一个ADC(LTC1407A-1),它用一个带有2个赞美符号数据的14位寄存器填充 . 我想将此数据转换为无符号: 来源数据范围: -8192 to 8191 目标数据范围: 0 to 16383 但是,无论我尝试什么,我似乎无法获得理想的结果 . 我目前的VHDL寄存器模块工作代码部分如下: library IEEE; use ieee.std_logic_arit...
  • 13 votes
     answers
     views

    为什么两个补充?

    我正在编写教程,教孩子们(9到13岁)关于编程 . 我从计算机本身开始,他们与计算机科学没什么关系,更多的是涉及解决计算问题的过程 . 有了这个起点,我指导他们理解机器可以帮助我们解决某些计算问题 . 人们擅长抽象思维和想象力,但计算机在遵循一个明确的例行程序时非常棒 . 他们可以一次又一次地以惊人的速度做到这一点! 在我的教程中已经介绍了以二进制格式表示数字 . 但是你如何代表负数呢?在任何符号...
  • 170 votes
     answers
     views

    为什么在签名数字上更喜欢两个补码而不是符号和数量?

    我只是好奇,如果有一个原因为了在二进制中表示-1,使用二进制补码:翻转位并加1? -1表示为11111111(二进制补码)而不是(对我来说更直观)10000001,它是二进制1,第一位为负标志 . 免责声明:我不依赖二进制算术来完成我的工作!
  • 2 votes
     answers
     views

    装配MASM处理负整数

    我被指示在程序集中编写一个程序,它将执行以下算法: ((A B)/ C)*((D - A)E) 当没有负值发挥作用时,我成功地做了这个,但假设A = 5,B = 4,C = 3,D = 2,E = 1.这给了我们((5 4)/ 3) *((2 - 5)1)或-6 . 这是我需要帮助的地方 . 我已经做了一些研究,并且已经发现2可以成为一种解决方案,但我不确定是否将它实现到我的代码中 . 如...
  • 0 votes
     answers
     views

    两个补码; 0FFFh为正,0FFFFh为负?

    从书,装配艺术,我复制这句话: 在二元补语系统中,H.O . 一个数字位是一个符号位 . 如果H.O.位为零,数字为正;如果H.O.位是1,数字是负数 . 示例:对于16位数字:8000h是负数,因为H.O.比特就是一个 . 100h是正的,因为H.O.位为零 . 7FFFh是积极的 . 0FFFFh为负数 . 0FFFh为正 . 我不明白最后两个例子 . 如果将这两个示例转换为二进制...
  • 4 votes
     answers
     views

    二进制补码表示

    我最近一直在为一个略微修改的 Abstract Syntax Notation 实现一个专门的解析器 . 规范说整数被编码为八位字节数组,它们被解释为二进制二进制补码整数 . 所以,起初我认为将其反序列化为实际C int 的最佳方法是简单地以值0开始,然后将每个八位字节的OR与值类似: uint64_t value = 0; int shift = 0; std::vector<uint8...
  • 4 votes
     answers
     views

    如何使用二进制补码方法划分两个负数?

    我正在研究更多关于二元算术的知识并且遇到了问题 -21/-3 . 预期答案是 7 . 当然我知道我们可以通过取消负号并将 21 除以 3 来实现 . 我在两个数字的减法中看到了两个补码的美 . 所以我开始是这样的: -21 is: 11101011 -3 is: 11111101 最初我尝试分割,但由于分子大于分母分裂是不可能的 . 同样很明显它相当于将 235 除以 253 . 所以我...
  • 0 votes
     answers
     views

    添加两个补码二进制

    女士们,先生们,我已经成功地理解了无符号二进制数的加法等 . 然而,这两个补充让我击败..让我用一些例子来解释 . 示例练习题,使用8位有符号整数存储系统执行每个算法,在两个补码下: 1111111 01100001 + 00111111 ---------- 10100000 <== My Answer (idk if right / wrong), but i think ...
  • 4 votes
     answers
     views

    解释为什么x ==〜(~x 1)1(两个补码并返回!)

    众所周知,内存中的负数通常表示为两个补码数 from x to ~x + 1 并且要回去,我们不会做明显的事情 ~([~x + 1] - 1) 但相反,我们做到了 ~[~x + 1] + 1 有谁可以解释为什么它总是有效?我想我可以用1位,2位,3位数证明它,然后使用数学归纳法,但它无法帮助我理解它是如何工作的 . 谢谢!
  • 0 votes
     answers
     views

    关于Two's Complement的困惑

    我正在试图找出如何在签名数字时做数学 . 我有点理解Two的补充概念,但知道如何充分利用它是让我感到困惑的原因 . 这是我目前正在处理的问题: 1100.1111.1110-0011.1111-1010-1100.1101.1100 我所做的是找到每个数字的二进制补码,然后将它们加在一起 . 1100.1111.1110 -> 0011.0000.0010 0011.1111 -> ...
  • -1 votes
     answers
     views

    二进制补码二进制VHDL

    我必须在VHDL中将二进制数从A转移到-A . 我对两个补码表示法有一些疑问 . 例如,如果我有二进制 0000 0101 的 A(8 bit) = 5 . 从在线资料中我意识到要将其转换为二进制补码形式,我需要反转所有在最后加1的位: 0000 0101 --> 1111 1010 + 0000 0001 = 1111 1011 ,这代表 -A=-5 ; 我现在的疑问是关于这个最终的二进...
  • 9 votes
     answers
     views

    二进制补码转换

    我需要将二进制补码格式的字节转换为正整数字节 . 范围-128到127映射到0到255 . Examples: -128 (10000000) -> 0 , 127 (01111111) -> 255, etc. EDIT 为了消除混淆,输入字节(当然)是0到255范围内的无符号整数 . 但是它表示使用二进制补码格式在-128到127范围内的有符号整数 . 例如,输入字节值128(二...
  • 6 votes
     answers
     views

    添加和减去两个补码

    使用六位一和二的补码表示我试图解决以下问题: 12 - 7 现在,我先拿二进制12和二进制7 . 12 = 001100 - 6 bit 7 = 000111 - 6 bit 然后,我会将这个位翻转为两个补码并添加一个吗? 12 = 110011 ones complement + 1 ------- 001101 7 = 111000 ones c...
  • 1 votes
     answers
     views

    使用二进制补码进行二进制减法

    我试图用二进制形式的二进制补码来解决以下问题 . 7.5 - 6.75 7.5 - 6.75可以改写为(7.5)( - 6.75) 取二进制十进制数 7.5 = 111.1 6.75 = 110.11 -6.75 = 001.00 现在我应该在“ . ”(句号)的左侧或右侧添加1?
  • 0 votes
     answers
     views

    两个补码数据的固定点减法

    我有一些真实的数据 . 例如 +2 和 -3 . 这些数据以2位补码不动点表示,具有4位二进制值,其中MSB表示符号位,小数位数为零 . 所以2 = 0 010 -3 = 1101 添加这两个数字是 (+2) + (-3)=-1 (0010)+(1101)=(1111) 但是在减法的情况下 (+2)-(-3) 我该怎么办? 是否需要再次使用 1101 (-3) 的两个补码并添加 0010...
  • 1 votes
     answers
     views

    二进制补码表示所需的最小位数

    我需要找出我们如何在二进制补码系统中以最小位数表示 -1 和 -3 . 我计算了答案 1 和 111 但答案似乎不正确 . 如果我能得到一些帮助,我将非常感激 . 谢谢
  • 5 votes
     answers
     views

    以二进制补码表示读/写Haskell Integer

    我需要以与Java对它的BigInteger类兼容的方式读写Integers: 返回一个包含此BigInteger的二进制补码表示的字节数组 . 字节数组将采用big-endian字节顺序:最重要的字节位于第0个元素中 . 该数组将包含表示此BigInteger所需的最小字节数,包括至少一个符号位,即(ceil((this.bitLength()1)/ 8)) . 可悲的是,这排除了 Data...
  • 1 votes
     answers
     views

    Python - 实现两个补码的最有效方法? [重复]

    这个问题在这里已有答案: Two's Complement in Python 14个答案 二进制补码是当您反转位然后添加二进制1位数 . 所以例如...... 0011001 apply two's complement 1. inverse the bits, 1100110 2. add a binary digit, 1100110 + 1 = 1100111 另一个显示溢出情况的例...
  • 0 votes
     answers
     views

    两个补语的定义?

    我在这里阅读了几个问题/答案: twos-complement-in-python is-twos-complement-notation-of-a-positive-number-the-same-number 有人提供了一些示例代码来创建数字的二进制补码: def twos_comp(val, bits): """compute the 2's compl...
  • 3 votes
     answers
     views

    两个补充表格所需的最小比特数

    在我的中期,有一个问题说: 给定十进制值,在Two的补语表单中表示每个数字所需的最小位数是多少? 值为:-26,-1,10,-15,-4 . 我没有得到任何正确的问题,解决方案令人困惑 . 我真正理解的唯一部分是找到值所在的范围 . 例如,-15将在[-2 ^ 5,2 ^ 5]的范围内,并且-4将在[-2 ^ 2,2 ^ 2]的范围内 . 从这里需要哪些步骤才能找到需要多少位? 我试图找到一些模式...
  • 0 votes
     answers
     views

    二进制补码二进制形式

    在TC编译器中, 5 的二进制表示是 (00000000000000101) . 我知道负数存储为2的补码,因此二进制 -5 是 (111111111111011) . 最高位(符号位)为1,表示它是负数 . 那么编译器如何知道它是 -5 ?如果我们将 (111111111111011) 上面给出的二进制值解释为无符号数,它会变得完全不同吗? 另外,为什么1的赞美 5 -6 (111111...

热门问题