波形符 C 无符号与有符号整数

2024-01-11

例如:

unsigned int i = ~0;

Result:我可以分配的最大数量i

and

signed int y = ~0;

Result: -1

为什么我得到-1?我不应该得到可以分配的最大数量吗y?


Both 4294967295(又名UINT_MAX) and -1具有相同的二进制表示形式0xFFFFFFFF或 32 位全部设置为1。这是因为有符号数是用以下方式表示的二进制补码 http://en.wikipedia.org/wiki/Two%27s_complement。负数的 MSB(最高有效位)设置为1其值通过翻转其余位并添加来确定1并乘以-1。因此,如果您将 MSB 设置为1其余位也设置为1,翻转它们(得到 32 个零),然后添加1 (get 1)并乘以-1最终得到-1.

这使得 CPU 更容易进行数学计算,因为它不需要负数的特殊例外。例如,尝试添加0xFFFFFFFF(-1) 和1。由于只有 32 位的空间,这将溢出,结果将是0正如预期的那样。

更多信息请访问:

http://en.wikipedia.org/wiki/Two%27s_complement http://en.wikipedia.org/wiki/Two%27s_complement

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

波形符 C 无符号与有符号整数 的相关文章

  • 为什么在从同一解决方案引用另一个项目时会出现 FileNotFound 异常?

    我正在学习如何使用 NUnit 我的解决方案中有我的主项目 并在同一解决方案中创建了一个单独的项目 该项目将保存我的单元测试 并具有自己的命名空间 从该项目中 我添加对主项目的引用并添加 using MainProjectNamespace
  • C++,多语言/本地化支持

    向 C 程序添加多语言支持的最佳方法是什么 如果可能 应该从包含键值对 WelcomeMessage Hello s 之类的纯文本文件中读取语言 我想到了添加一个 localizedString key 函数来返回加载的语言文件的字符串 有
  • C++ 标准是否允许未初始化的 bool 导致程序崩溃?

    我知道一个 未定义的行为 C 几乎可以让编译器做任何它想做的事情 然而 我遇到了一次令我惊讶的崩溃 因为我认为代码足够安全 在这种情况下 真正的问题仅发生在使用特定编译器的特定平台上 并且仅在启用优化的情况下发生 我尝试了几种方法来重现问题
  • 委托和接口如何互换使用?

    我可以使用接口方法代替委托吗 如何 我发现搜索接口方法比使用委托更快 我希望有一个简单的代码片段 理论上 可以通过包含单个方法的接口 例如 Java 没有委托 来完成委托完成的所有工作 然而 它使代码变得更加冗长并且没有带来什么好处 话又说
  • stl 集的 C# 等效项是什么?

    我想使用 C 将一些值存储在平衡二叉搜索树中 我查看了泛型命名空间中的集合 但没有找到与 stl 集合等效的集合 我可以使用什么通用集合 我不想存储键 值对 只是值 你可以使用HashSet http msdn microsoft com
  • File.ReadAllLines 或流读取器

    我们可以使用以下方式读取文件StreamReader http msdn microsoft com en us library vstudio system io streamreader或通过使用File ReadAllLines ht
  • const_iterators 更快吗?

    我们的编码指南更喜欢const iterator 因为它们比正常的要快一点iterator 当您使用时 编译器似乎会优化代码const iterator 这真的正确吗 如果是的话 内部到底发生了什么使得const iterator快点 编辑
  • 泛型类上的 DebuggerDisplay

    我在应用时遇到问题DebuggerDisplay泛型类的属性 DebuggerDisplay foo class Foo DebuggerDisplay Bar t class Bar
  • dlopen 或 dlclose 未调用信号处理程序

    我在随机时间内收到分段错误 我注册了信号 但发生分段错误时未调用信号处理程序 include
  • 模板“内联”函数的静态局部变量[重复]

    这个问题在这里已经有答案了 static的局部变量inline如果我的理解是正确的 C 中的函数保证像单个全局变量一样存在 如果inline函数是一个模板 编译器可以在哪里生成该函数的多个版本 下面这篇文章应该很好地回答你的问题 http
  • C++ fill() 与 uninitialized_fill()

    您好 我是初学者 我想知道容器的 fill 和 uninitialized fill 之间的区别 我在谷歌上进行了快速搜索 但没有得到很好的答案 有人可以帮助我吗 fill 将值 使用赋值运算符 分配给已构造的对象 uninitialize
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 访问结构向量

    我有一个结构 struct OutputStore int myINT string mySTRING 如果我创建一个 OutputStore 类型的数组 如下所示 OutputStore OutputFileData new Output
  • C++头文件问题

    我在处理类时尝试了一些 C 代码 这个问题出现在我身上 并且让我有点烦恼 我创建了一个包含类定义的头文件和一个包含实现的 cpp 文件 如果我在不同的 cpp 文件中使用此类 为什么要包含头文件而不是包含类实现的 cpp 文件 如果我包含类
  • 我们可以使用 C# 录制发送到扬声器的声音吗

    我有一个软件 SoundTap Streaming Audio Recorder 它记录发送到扬声器的任何音频 无论流是来自网络还是来自某些文件或麦克风 我可以在桌面应用程序中制作这样的应用程序 以便我可以录制发送到扬声器的流 无论来源如何
  • 恐怖分子已弃用

    正在接听另一个问题 https stackoverflow com q 11830514 1468366 我偶然发现了man page http linux die net man 3 herror一个名为的函数herror 看起来很像pe
  • 在 Visual Studio C++ 资源编辑器中导入 png 文件

    我希望能够在 Visual Studio 资源编辑器中导入 png 文件 以便能够在不同的其他项目中使用嵌入的资源 有解决办法吗 我知道它适用于位图 但我对 png 感兴趣 因为即使在较低格式 16x16 或 32x32 上也可以使用 透明
  • 致命:所有操作都需要OperationId。请为路径的“获取”操作添加它

    我正在使用 AutoRest 从 swagger json 生成 api 的客户端 输出是 AutoRest code generation utility cli version 3 0 6187 node v10 16 3 max me
  • 当前线程中的单例

    我的单身人士如下 public class CurrentSingleton private static CurrentSingleton uniqueInstance null private static object syncRoo
  • 如何使用 __m128i 执行元素左移?

    我发现 SSE 移位指令只能在所有元素上移位相同的量 mm sll epi32 mm slli epi32 这些会移动所有元素 但移动量相同 http software intel com sites products documentat

随机推荐

  • Meteor 如何使用多个 .less 文件

    我正在尝试在 Meteor 应用程序中使用两个 less 文件 所有文件都位于单个 Meteor 应用程序文件夹中 我有一个 less 文件 它定义了一般 UI 外观 在 ui less 中 ui gradient topdown from
  • XAMPP - 错误:MySQL 意外关闭

    由于某种原因 我重新安装了 XAMPP 但 MySQL 无法工作 在控制台中出现以下错误 01 56 03 mysql Error MySQL shutdown unexpectedly 01 56 03 mysql This may be
  • 通过 powershell 在 jenkins 中使用 AnsiColor

    关于如何使用 powershell 为 Jenkins 上的输出着色有什么想法吗 我已经在 J enkins 上安装了 AnsiColor 插件 并且已将作业设置为使用 AnsiColor 唯一的问题是如何让我的powershell在Jen
  • 通过 StoredProcedure 每日/每周/每月记录计数搜索

    Using 微软SQL服务器 我做了一个名为SP Get CallsLogged 我有一个名为TRN Call 它有一个名为CallTime这是一个日期时间 我的应用程序中有一个网页 用户在其中输入 开始日期 约会时间 EndDate 约会
  • java 使用线程下载多个文件

    我正在尝试使用线程下载与模式匹配的多个文件 该模式可以匹配 1 5 或 10 个不同大小的文件 为了简单起见 下载文件的实际代码位于 downloadFile 方法中 而 fileNames 是与模式匹配的文件名列表 我如何使用线程来做到这
  • Windows Phone 7 - 加载一个大的 xml 文件

    我正在尝试将 xml 文件加载到我的应用程序中并将其显示在列表框中 问题是该xml文件大约有5MB 在手机上加载大约需要40秒 当手机锁定屏幕并返回时 又需要 40 秒 我尝试使用isolatedstorage来存储数据 但它并没有提高性能
  • 为什么我的静态目录无法与 django 1.3 一起使用?

    这个问题很简单 但我就是想不出来 添加到我的 urlpatterns url r static P
  • 公开 Firebase 存储,以便在 Android 上读写

    我是 firebase 存储的新手 谁能告诉我如何使存储文件公开以供读写 firebase 提供的默认代码如下 我应该做出哪些改变 service firebase storage match b image view b1cf5 apps
  • iOS 8 AutoLayout 滚动视图在 iPhone 6 plus 上水平滚动

    我确实有一个 iOS 应用程序 在调整所有 UI 以自动布局和尺寸类别以支持新的 iPhone 6 和 iPhone 6 plus 时 我遇到了一个奇怪的问题 我的滚动视图在 iPhone 4s 5 5s 中工作正常和 6 在 iPhone
  • Discord 丰富的嵌入按钮

    我制作了一些discord py 机器人 但我遇到了一个令人惊讶的机器人 它被称为 IdleRPG 并使用带有按钮的丰富嵌入消息 这是一张图片 注意菜单底部的按钮 我尝试联系开发商并一直在网上搜索 但似乎找不到他们是如何做到的 有谁知道有关
  • 如何在 bash 中优雅地存储和回显多行? [复制]

    这个问题在这里已经有答案了 我试图将一段文本捕获到一个变量中 并保留换行符 然后回显它 然而 当我捕获文本或显示文本时 换行符似乎没有被维护 关于我如何实现这一目标有什么想法吗 Example bin bash read d my var
  • 即使我注销了,如何才能在后台继续运行unix程序?

    我想在 unix 机器上在后台运行一个带有 while 1 循环的 Perl 脚本 直到我杀死它 这是一台我没有管理权限的远程计算机 因此由于某种原因 我无法使用 Daemon Generic While1 我通过 SSH 登录到它 并且我
  • TypeDoc 抱怨“找不到模块”

    我有一个基于 Typsecript 的反应应用程序 它工作得很好 但我想添加 TypeDoc 想想 Typescript 的 JSDoc 安装后 我从命令行运行它 在测试时仅处理单个文件 typedoc module commonjs js
  • 汇编反转字符串

    读取字符串直到按下 1 并且 1 将位于字符串的最后一个位置 我不知道为什么我的输出关闭 例如输入是 asd1 输出是 1111 无论如何 这是我的代码 data segment msg db 0dh 0ah Your string rev
  • Swift 3 迁移后 UICollectionView 损坏了?

    在我的项目中使用 Swift 3 转换器后 加载 UICollectionViewController 的子类时我不断崩溃 下面是我的代码以及集合视图的相关方法 override func collectionView collection
  • QNetworkAccessManager超时

    目前我正在开发一个从远程服务器发送和接收文件的应用程序 为了进行网络操作 我使用 QNetworkAccessManager 要上传文件 我使用 QNetworkAccessManager put 并下载文件 我使用 QNetworkAcc
  • 在动态加载的内容上使用hammer.js

    我正在使用hammer js 开发一个网络应用程序 我可以让它正常工作 除了使用 ajax 加载的内容 我使用 jquery 的hammer js 特殊事件插件 以下工作正常 menu a on tap function event con
  • NSDatePicker 使用箭头键时行为不当

    我用过NSDatePickers 没有步进器 在列的单元格中NSTableView 日期选择器用于设置以小时 分钟和秒为单位的持续时间 如果我突出显示其中一个控件并使用箭头键设置值 日期选择器会显示一些奇怪的行为 每次按下向上箭头时 秒数都
  • Node 连接到 Postgres 的速度比 .NET Core 快 20 倍

    我有两台服务器连接到PostgresSQL 9 6数据库托管在 Azure 上 服务器正在做一件事 使用 a 访问 Postgres 数据库SELECT 1每5秒查询一次 连接到数据库并获取数据的典型时间 Node 25 MS NET Co
  • 波形符 C 无符号与有符号整数

    例如 unsigned int i 0 Result 我可以分配的最大数量i and signed int y 0 Result 1 为什么我得到 1 我不应该得到可以分配的最大数量吗y Both 4294967295 又名UINT MAX