2s补码是一种存储负数的方法吗?

2024-01-12

我读过很多文章和答案来理解2s complement。他们给了我很多帮助。然而,我心中却没有多少疑问2s complement.

1) Is 2s complement一种存储负数以便于操作的方法或者还有其他一些应用程序?

2) 2s complement当计算机看到负数时自动取值?

3) 服用2s complement是编译器的工作还是由处理器完成还是什么?

4) When 2s complement是在编译时、运行时还是为变量赋值时获取的?

我读过的文章有(应该建议理解2s complement更好的):

什么是“2的补码”? https://stackoverflow.com/questions/1049722/what-is-2s-complement

为什么用补码来表示负数? https://stackoverflow.com/questions/1125304/why-is-twos-complement-used-to-represent-negative-numbers/1125317#comment44829269_1125317

http://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html http://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html


1) Yes.

2)计算机无法“看到”负数。它可以看到一大块二进制数据。您的应用程序具有智能,可以说“这块二进制数据是存储在 2 的 compl 中的整数”。然而,世界上几乎每个 CPU 都支持 2 的补码运算。

3)编译器看到源代码如int32_t x = 0;然后意识到这个变量是以二进制补码格式存储的。如果您然后添加类似的代码x = x - 1编译器在生成程序时选择使用支持 2 补码的处理器指令。处理器只执行程序告诉它执行的操作。它没有智力。

4) 如上所述,这是一个编译时决定。 (不太确定“补充”是什么意思......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2s补码是一种存储负数的方法吗? 的相关文章

  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • TextBox 焦点的 WinForms 事件?

    我想添加一个偶数TextBox当它有焦点时 我知道我可以用一个简单的方法来做到这一点textbox1 Focus并检查布尔值 但我不想那样做 我想这样做 this tGID Focus new System EventHandler thi
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 除法和乘法 2 的幂

    我在一篇论文中读到 数字除以 2 的幂并乘以 2 的幂是一个微不足道的过程 我在互联网上搜索了很多解释 但没有得到它 任何人都可以用简单的语言解释一下这实际上意味着什么 从位操作的角度来看 这是微不足道的 乘以2相当于左移1位 除法相当于右
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 在基类集合上调用派生方法

    我有一个名为 A 的抽象类 以及实现 A 的其他类 B C D E 我的派生类持有不同类型的值 我还有一个 A 对象的列表 abstract class A class B class A public int val get privat
  • 如何确定母版页中正在显示哪个子页?

    我正在母版页上编写代码 我需要知道正在显示哪个子 内容 页面 我怎样才能以编程方式做到这一点 我用这个 string pageName this ContentPlaceHolder1 Page GetType FullName 它以 AS
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • C# Collection 选择属性的值与另一个属性的最小值

    所以假设我有一种类型Car有两个属性Speed and Color public class Car public int Speed get set public string Color get set 使用 LINQ 我可能会找到最低
  • Celery Worker 数据库连接池

    我正在独立使用 Celery 不在 Django 中 我计划让一种工作任务类型在多台物理机器上运行 该任务执行以下操作 接受 XML 文档 改造它 Make multiple数据库读取和写入 我正在使用 PostgreSQL 但这同样适用于
  • PredicateBuilder:嵌套在 .And() 内的 OR 条件

    我正在使用 PredicateBuilder 针对 Umbraco 节点列表构建查询来过滤搜索结果 我通过 QueryString 将搜索到的 ID 值作为字符串传递 然后将其与列表中每个 Umbraco 节点上的字符串字段进行比较以获取匹
  • 如何在 Symfony 中从编译器传递注入共享服务

    我正在尝试通过旨在替换 FOSRestBundle 中的服务之一的编译器通道注入令牌存储服务
  • R Shiny:如何在执行反应语句之前更新输入对象

    我正在基于很棒的 R Shiny 包构建一个探索性视觉应用程序 该应用程序要做的一件事是读取实值 测量 列并显示这些测量值的箱线图 此外 还有一个可选的selectInput小部件 允许用户选择group要深入研究的变量 这group变量基
  • 如何在 springboot 应用程序中启用 Cassandra CqlSession Metrics

    我想启用 cassandra cqlsession 指标 当尝试注册 cqlsession 指标时 它在 springboot 应用程序中提供了 optional empty 这里使用 cassandra datastax java 驱动程
  • 在 std::function 上递归应用 std::bind 的问题

    给定一个函数f x y z 我们可以绑定x到 0 得到一个函数g y z f 0 y z 我们可以继续这样做并得到h f 0 1 2 在 C 语法中 这将是 include
  • ScheduledThreadPoolExecutor 和 corePoolSize 0?

    我想要一个ScheduledThreadPoolExecutor如果没有工作要做 它还会停止最后一个线程 如果有新任务 它还会创建线程 并使线程保持活动状态一段时间 但是一旦没有更多的工作要做 它应该再次丢弃所有线程 我天真地将其创建为ne
  • 如何使用双浮点?

    我正在努力弄清楚如何告诉 Lisp 我想使用双浮点值 假设我有 let x 1 format t A x 3 0 这使 0 33333334 如果我想使用双浮点数 我尝试了以下方法 let x 1 declare type double f
  • 无法将 Google 帐户添加到 Android 模拟器

    我有一个将我的 Android 模拟器连接到 Gmail 时出现问题 即使我可以浏览网页 我也无法添加我的 Gmail 帐户 我去Accounts and Sync add account google sign in 然后输入我的gmai
  • Service Worker 和透明缓存更新

    我正在尝试为一个简单但旧的 Django Web 应用程序安装 ServiceWorker 我开始使用这个例子Chrome 团队的通读缓存示例 https googlechrome github io samples service wor
  • 如何从 Python 控制 Windows 应用程序

    我在 Windows PC 上安装了该应用程序 我想使用 python 启动该应用程序并选择下拉选项并在该应用程序中执行一些其他活动 我能够使用以下命令启动该应用程序os system命令 但我无法继续进行 我希望我的程序能够执行以下操作
  • WCF、ASMX 基本 HTTP 绑定和 IIS

    我一直在使用 WCF 自 托管应用程序进行大量工作 最近 我被要求编写一个 Web 服务 其中调用客户端是一个名为 WGET 的基于 Linux 的程序 我想使用 WCF 而不是传统的 ASMX Web 服务 Web 服务正在返回标准 XM
  • 将大型 Pandas 数据帧分块写入 CSV 文件

    如何将大数据文件分块写入 CSV 文件 我有一组大型数据文件 1M 行 x 20 列 然而 我只对数据文件中大约 5 列感兴趣 我想通过仅使用感兴趣的列来制作这些文件的副本 从而使事情变得更容易 这样我就可以使用较小的文件进行后期处理 所以
  • 错误:(3, 0) 原因:org/apache/commons/lang3/StringUtils

    我收到以下错误 错误 3 0 原因 org apache commons lang3 StringUtils 当我尝试在我的 Android 项目中添加数据绑定时 我的依赖项包括 Top level build file where you
  • 为什么删除 @font-face 中的 woff2 可以解决 IE11 问题

    这些天我在 font face 上遇到了麻烦 我的字体未在 IE11 中显示 但在所有其他版本中显示 事实证明 删除 woff2 字体解决了我的问题 字体显示正常 我现在的问题是 为什么这可以成为解决方案 IE11 的想法是什么 删除一个简
  • 通过brew和dmg安装cuda

    尝试按照以下指南在 MAC 上安装 nvidia 工具包后 http docs nvidia com cuda cuda installation guide mac os x index html axzz4FPTBCf7X http d
  • C++ 装饰 basic_iostream 类

    我想做一些像下面的代码所示的事情 class foo private std fstream m stream public foo std fstream stream m stream stream foo write char con
  • 可见性:隐藏在 Angular 2 中

    在角度 2 中实现元素不可见的建议方法是什么 visibility hidden不显示元素但保持其空间占用 它有一个 hide 指令 但它似乎类似于display none 您可以设置visibility样式属性与样式绑定 https v2
  • 2s补码是一种存储负数的方法吗?

    我读过很多文章和答案来理解2s complement 他们给了我很多帮助 然而 我心中却没有多少疑问2s complement 1 Is 2s complement一种存储负数以便于操作的方法或者还有其他一些应用程序 2 2s comple