~ C 中的运算符

2024-07-01

该程序的输出是-13。我从来没有完全理解 C 中的 ~ 运算符。为什么它给出 -13 作为输出?如何将 ~ 运算符限制为数字的 4 位?

    #include<stdio.h>
    #include<conio.h>
    int main()
    {
        int a = 12;
        a = ~a;
        printf("%d",a);
        getch();
        return;
    } 

它是一个按位运算符(补码),其工作方式如下:

~00000101 // 5
=11111010 // 250

所以 1 变成 0,反之亦然,但在某些情况下,符号位被激活,你会得到意想不到的结果

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

~ C 中的运算符 的相关文章

  • C++11 中的延迟初始化顺序

    考虑以下代码 分为三个编译单元 a h struct A void Register const char s const char m s 10 int m i 0 A GetA a cpp include a h include
  • 类内枚举前向声明是否可能? [复制]

    这个问题在这里已经有答案了 我知道在 C 11 中可以转发声明枚举类型 如果提供了存储类型 例如 enum E short void foo E e enum E short VALUE 1 VALUE 2 但我想转发声明一个类中定义的枚举
  • 格式化具有 X 位小数和 InvariantCulture 的数字?

    我想使用格式化数字ToString CultureInfo InvariantCulture 并且精确到小数点后 5 位 这可以使用ToString N5 我怎样才能同时做这两件事 怎么样使用重载既需要格式又需要文化 http msdn m
  • 规避模板专业化

    假设我是某个模板库的用户 CTL 它定义了一个模板 命名为 Hector template
  • 在 C# 中创建新 List 的这三种方式有什么区别?

    这三种创建新的方式有什么区别List
  • 浮点指令异常——FLDZ故障?

    I am trying to debug the problem I posted earlier here C and pin tool very weird DOUBLE variable issue with IF statement
  • WPF PasswordBox 中的密码不可绑定的安全优势?

    我只是偶然发现一个事实PasswordWPF 的属性PasswordBoxes 不可绑定安全原因 这使得在 MVVM 上下文中使用它们相当麻烦 答案如https stackoverflow com a 1493330 3198247 htt
  • 安装 Windows 服务以使用 ServiceAccount.User 在用户凭据下运行,但不提示

    我创建了一个 C Windows 服务及其随附的用于创建安装程序的 Visual Studio 安装项目 它成功安装了该服务 当我从枚举中选择任何值时ServiceAccount除了ServiceAccount User 该服务安装时不会提
  • UWP 导航 (Template10)、枢轴控制、多帧

    我正在尝试在我的 UWP 应用程序中实现以下导航样式 使用 Template10 但正在努力如何使用多个帧作为独立的历史堆栈 在枢轴的每个框架内 我希望有一个独立的框架 它有自己的历史记录和后堆栈 只能通过枢轴在框架之间导航 我正在考虑使用
  • 单元测试依赖注入

    我在用Autofac for IoC 这是我的容器启动器类 其职责是注册依赖项 public class ContainerInit public static IContainer BuildContainer var conFac ne
  • 在哪里可以查看 LINQ 源代码?

    我需要编写自己版本的 except 方法 或者至少以某种方式修改 LINQ 方法的工作方式 我正在与大型自定义对象列表进行比较 并且需要将匹配项从列表 A 连接到列表 B 我认为除外哈希表构建是进行比较的最快方法 但该方法只会返回非匹配项
  • 如何从源代码编译picoProlog?

    我是计算机科学专业的学生 正在学习 Prolog 逻辑编程 我发现了一个有趣的 Prolog 解释器 picoProlog http spivey oriel ox ac uk corner Logic Programming http s
  • 尝试写入事件日志时出错 - 无法打开源“SourceName”的日志。您可能没有写入权限

    目前 我们正在尝试将现有的经典 ASP 页面集成到记录事件日志的新方法中 我们通过调用公开为 COM 对象的 NET 程序集来实现此目的 该程序集实际记录到事件日志中 这一切都正常工作 但是当我们尝试写入事件日志时 我们收到错误 无法打开源
  • Dapper 中的自定义映射

    我正在尝试使用带有 Dapper 和多重映射的 CTE 来获取分页结果 我遇到了重复列的不便 例如 CTE 阻止我命名列 我想将以下查询映射到以下对象 而不是列名和属性之间的不匹配 Query WITH TempSites AS SELEC
  • 将 byte[] 作为文件打开,而不先将其实际保存为文件

    打开以 byte 形式存储在数据库中的 Word 文件的最佳方法是什么 我必须将一些文档存储在 Access 数据库中 Word 文件 2003 及更高版本 并存储在严格通过 CD 运行的应用程序上 不幸的是 它们必须位于数据库中 并且不能
  • DllImport 名称不完整

    我在 NET 下使用多个 P Invoke 但是 我希望我的库能够在 Windows 和 Linux 上运行 最好使用相同的二进制文件 由于我所依赖的本机库可在多个平台上使用 因此我希望将它们与我的托管库的二进制文件一起使用 现在我正在使用
  • 在heroku上运行c++程序

    我正在尝试在 Heroku 上运行 C 程序 我读过这篇文章 但是我没能成功 因为服务器上没有 g 或 gcc 我尝试像这样将 g 下载到服务器上sudo apt get install g 但是我没有root权限 我还尝试将 g 副本复制
  • 正确的 C 指针表示法 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 相当于 C++ 中用于缓冲读取的 python 生成器

    Guido Van Rossum 在此展示了 Python 的简单性article http neopythonic blogspot com 2008 10 sorting million 32 bit integers in 2mb h
  • “System.Int64”类型的表达式不能用于返回类型“System.Object”

    我正在尝试创建以下形式的表达式 e gt e CreationDate CreationDate属于类型long 但是我希望表达式返回一个object反而 我想用object作为返回类型 因为表达式是在运行时根据查询参数动态构建的 查询参数

随机推荐