Convert.ToString() 转换为二进制格式无法按预期工作

2023-11-24

int i = 20;
string output = Convert.ToString(i, 2); // Base2 formatting
i = -20;
output = Convert.ToString(i, 2);


Value   Expected                            Actual
20      00000000000000000000000000010100    10100
-20     10000000000000000000000000010100    11111111111111111111111111101100
  

我可以看到,也许二进制输出 20 已被截断,但我不明白 -20 的输出。我的期望基于 base2 表示法以及整数的有符号元素以最左边第一个数字表示的信念。 0 为正,1 为负。有人可以解释一下结果,特别是 -20 的结果吗?


.NET 中的负数以二进制表示为二进制补码.

来自 MSDN -Convert.ToString 方法(Int32、Int32):

如果 value 为负且 toBase 为 2、8 或 16,则返回的字符串使用二进制补码表示形式

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

Convert.ToString() 转换为二进制格式无法按预期工作 的相关文章

随机推荐

  • Java 程序可以检测到它的堆空间不足吗?

    整个周末我都会在室友的电脑上运行遗传算法 我担心这么长时间运行它可能会耗尽内存 然而 我的算法的工作方式使得可以相当容易地修剪不太有用的结果 因此 如果有一种方法可以告诉我的程序何时将耗尽堆空间 我可能可以腾出空间并继续进行再多一些时间 当
  • Postgresql存储过程返回select结果集

    在 Microsoft SQL Server 中我可以做这样的事情 create procedure my procedure argument1 int argument2 int as select from my table wher
  • 错误 ITMS-90168:“您上传的二进制文件无效。”

    错误 ITMS 90168 您上传的二进制文件无效 生成的 API 分析文件太大 我们无法验证 交付前您的 API 每次我想将新版本的应用程序上传到 iTunes connect 时 都会出现上述错误 我正在使用应用程序加载器进行上传 我的
  • 监视目录列表的更改?

    在 unix 系统上 我如何监视 例如 tail 的工作原理 目录中对文件所做的更改 创建新文件或大小更改等 寻找命令行工具而不是要安装的东西 大多数 UNIX 变体都有一个 API 但它没有标准化 在Linux上 有inotify 在命令
  • ES6 尾递归优化堆栈溢出

    读过Rauschmayer 博士的描述关于 es6 中的递归尾部调用优化 我一直在尝试重新创建他详细介绍的递归阶乘函数的 零堆栈 执行 使用 Chrome 调试器在堆栈帧之间步进 我发现尾部优化没有发生 并且正在为每个递归创建一个堆栈帧 我
  • 为数组 x 中的每个元素选择 n 个项目(从泊松分布中抽取)的快速方法

    我在解决遇到的问题时遇到了一些麻烦 我有一个包含价格的数组 gt gt gt x np random randint 10 size 10 array 6 1 7 6 9 0 8 2 1 8 以及 随机 生成的泊松分布到达数组 gt gt
  • Keras ValueError:尺寸必须相等问题

    即使应用了答案和评论中的建议后 尺寸不匹配问题似乎仍然存在 这也是要复制的确切代码和数据文件 https drive google com drive folders 1q67s0VhB O7J8OtIhU2jmj7Kc4LxL3sf us
  • 在 Ruby 中动态创建类

    我有一个类应该看起来像这样 class Family Type1 people Array new 3 people 0 Policeman new Peter 0 people 1 Accountant new Paul 0 people
  • Android 意图过滤器不起作用

    我的应用程序可以打开以下文件格式 kml 应用程序 vnd google earth kml xml kmz 应用程序 vnd google earth kmz gpx 应用程序 gpx xml 我正在尝试正确设置我的意图过滤器 以便在尝试
  • Path.Combine() 行为与驱动器号

    根据官方文档有关Path Combine方法 https msdn microsoft com en us library fyy7a5kt v vs 110 aspx Remarks 如果 path1 不是驱动器引用 即 C 或 D 并且
  • 如何从 numpy 多维数组中获取 k 个最大值的索引

    我问了几个问题StackOverflow但找不到相关答案 我想从 a 中获取 k 个最大值的索引numpy ndarray 这个链接讨论相同但针对一维数组 np argsort对于二维数组导致元素按行排序 IE Note array ele
  • MongoDB 中的文档大小

    考虑将来切换到 DynamoDB 但希望确保我的文档在 1KB 以下 因为它们按 KB 收费 有没有一种快速方法可以知道集合中文档的大小 作为一般指南 您可以检查集合中文档的平均大小collname使用avgObjSize收藏报告的价值st
  • 如何对使用其自身输出的滞后值的函数进行矢量化?

    我很抱歉问题的措辞不好 但这是我能做的最好的事情 我确切地知道自己想要什么 但不知道如何要求它 下面是一个例子演示的逻辑 取值 1 或 0 的两个条件会触发一个也取值 1 或 0 的信号 无论如何 条件 A 都会触发信号 如果 A 1 则信
  • Microsoft Visual Studio 2012 已停止工作

    我一直在 Windows Server 2008 R2 sp1 上使用 Visual Studio 2012 尽管除了性能有点慢之外 它似乎工作得很好 但每当我关闭应用程序时 我都会收到以下错误 Microsoft Visual Studi
  • 使用 jQuery 将密码字段更改为带有复选框的文本

    如何通过复选框选中取消选中将密码字段切换为文本和密码 这是你要找的吗
  • SQL Server 2005 生成的创建表脚本不起作用

    我正在为现有数据库创建数据库脚本 我尝试使用 SQL Server 为我生成脚本 但生成的脚本失败 我正在使用 脚本表为 gt 创建到 gt 新查询编辑器窗口 选项 然后 我更改表和约束名称并执行脚本 我很困惑 有人能看到这里的问题吗 我收
  • 使用 next_permutation 排列类向量

    是否可以使用 std next permutation 来排列我创建的类的向量的元素 next permutation 中的比较参数如何工作 是否可以使用 std next permutation 来排列我创建的类的向量的元素 Yes Tr
  • 跨浏览器 CSS3 关键帧动画 Firefox

    我使用 CSS3 和关键帧在播放按钮 这是一个锚标记 上实现了一个简单的 脉动 效果 虽然它在 Chrome 和 Safari 中完美运行 但在 Firefox 中似乎不起作用 有人知道为什么吗 li gt a webkit animati
  • Flex:如何为 TabNavigator 组件添加选项卡关闭按钮

    我想要一个TabNavigator具有某些选项卡的关闭按钮的组件 我怎么做 看来TabNavigator组件不允许 或者我找不到 这种形式的可扩展性 帮助 谢谢 您应该从以下位置查看 SuperTabNavigator 组件 FlexLib
  • Convert.ToString() 转换为二进制格式无法按预期工作

    int i 20 string output Convert ToString i 2 Base2 formatting i 20 output Convert ToString i 2 Value Expected Actual 20 0