一行中两个等号?

2024-03-30

有人可以解释一下这是做什么的以及它如何是合法的 C 代码吗?我在这段代码中找到了这一行:http://code.google.com/p/compression-code/downloads/list http://code.google.com/p/compression-code/downloads/list,这是 Vitter 算法的 C 实现自适应霍夫曼编码 http://en.wikipedia.org/wiki/Adaptive_Huffman_coding

ArcChar = ArcBit = 0;

从函数来看:

void arc_put1 (unsigned bit)
{
    ArcChar <<= 1;

    if( bit )
        ArcChar |= 1;

    if( ++ArcBit < 8 )
        return;

    putc (ArcChar, Out);
    ArcChar = ArcBit = 0;
}

ArcChar 是一个intArcBit 是一个unsigned char


表达式的值(a = b)的值是b,所以你可以用这种方式链接它们。它们也是右结合的,所以一切顺利。

本质上

ArcChar = ArcBit = 0;

is (approximately1) the same as

ArcBit = 0;
ArcChar = 0;

由于第一个赋值的值是被赋值的值,因此0.

就类型而言,尽管ArcBit is an unsigned char分配的结果将扩大到int.


1   It's not exactly the same, though, as R.. points out in a comment below.

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

一行中两个等号? 的相关文章

  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • 添加对共享类的多个 WCF 服务的服务引用

    我正在尝试将我的 WCF Web 服务拆分为几个服务 而不是一个巨大的服务 但是 Visual Studio Silverlight 客户端 复制了两个服务共享的公共类 这是一个简单的例子来说明我的问题 在此示例中 有两个服务 两者都返回类
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 如何进行带有偏差的浮点舍入(始终向上或向下舍入)?

    我想以偏置舍入浮动 要么总是向下 要么总是向上 代码中有一个特定的点 我需要这个 程序的其余部分应该像往常一样四舍五入到最接近的值 例如 我想四舍五入到最接近的 1 10 倍数 最接近 7 10 的浮点数约为 0 69999998807 但
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • C++派生模板类继承自模板基类,无法调用基类构造函数[重复]

    这个问题在这里已经有答案了 我试图从基类 模板 继承 派生类也是模板 它们具有相同的类型 T 我收到编译错误 非法成员初始化 Base 不是基类或成员 为什么 如何调用基类构造函数 include
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 以编程方式使用自定义元素创建网格

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

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • WPF/数据集:如何通过 XAML 将相关表中的数据绑定到数据网格列中?

    我正在使用 WPF DataSet 连接到 SQL Server Express XAML 和 C Visual Studio 2013 Express 我从名为 BankNoteBook 的现有 SQL Server Express 数据

随机推荐

  • SqlCommandBuilder 如何执行其操作以及如何阻止 ReSharper 删除它的建议?

    我不明白怎么办SqlCommandBuilder http msdn microsoft com en us library system data sqlclient sqlcommandbuilder aspx做它的事 我有以下代码 p
  • JPA 2.1 ConstructorResult 导致 ClassCastException

    结果集中的对象被转换为 对象 而不是我在 SQLResultSetMapping 对象中指定的对象 我正在尝试获取 ConstructorResult 的句柄 并创建了一个包含简单联接的查询 并尝试获取结果集并循环打印它 以确保它是正确的
  • 我如何检查 base64 字符串是否是文件(什么类型?)?

    我参加了 Spentalkux 挑战https 2020 ractf co uk https 2020 ractf co uk 这是我第一次参加CTF挑战 所以我解决了https github com W3rni0 RACTF 2020 b
  • MVC2 --> MVC3 升级

    今天MVC3发布了 我想问一下是否有人在从MVC2升级到MVC3 不改变视图中的任何内容 的过程中遇到过问题 我目前正在使用 EF4 Telerik 扩展 我应该升级 还是应该等待 我目前负责的项目的首席开发人员安装并升级了 MVC2 到
  • Rvest:获取节点文本而不是其子节点的文本

    方法html text 来自 R 包 rvest 连接节点的文本和它的所有孩子 我想提取只有父亲的文字 对于以下示例 html text gives 你好再见 我想得到只是GOODBYE 我怎么才能得到它 div class joke di
  • 如果所有子级都满足条件,则选择父级

    我的表格设置如下 Parent id Child id parent id x y 我想找到父母 或者不同的parent id 如果allChild 中包含给定parent id 的行满足涉及x 和y 的条件 在我的例子中x y 例如 Pa
  • GPS 坐标(以度为单位)来计算距离

    在iPhone上 我以十进制度数获取用户的位置 例如 纬度39 470920和经度 0 373192 也就是A点 我需要用另一个 GPS 坐标 同样以十进制表示 B 点创建一条线 然后 计算从 A 到 B 的线与另一个点 C 之间的距离 垂
  • 如何编译jade模板文件来获取字符串?

    我的玉模板文件中有一个视图逻辑 如何将模型传递给j ade并获取html以通过电子邮件进一步发送 您可以尝试以下操作 var jade require jade fs require fs fs readFile template jade
  • 在 UIImageView 之上绘图以使图像透明

    我正在开发一个 iPhone 应用程序 其中当用户在图像上移动手指时 我需要通过将其 alpha 级别设置为 0 来使图像的一部分透明 基本上 如果您碰巧知道应用程序商店应用程序 iSteam 用户应该能够在顶部图像上移动手指 这将使背景图
  • Select2 多重选择 - 以编程方式取消选择/取消选择项目

    我有一个 select2 列表和一组外部按钮 我想单击外部按钮并取消选择 select2 列表中的相应项目 我知道我可以使用命令从外部值进行项目选择 external btn click function select2 val CA tr
  • 如何使用DexClassLoader从aar文件动态加载类

    我已经成功地通过以下方式从 dex 文件动态加载类 enter code here File file getDir dex 0 DexClassLoader dexClassLoader new DexClassLoader data d
  • Jenkins 声明性管道:如何重命名“声明性:后操作”步骤?

    我有一个声明式管道 如下所示 pipeline stages post success failure 它导致最后一步的创建 称为 声明性 后置操作 Q 如何重命名 声明性 操作后 步骤 我想要一个有意义的名称 例如 发送电子邮件通知 UP
  • UIButton 上的 iOS NSAttributedString

    我在用着iOS 6 所以属性字符串应该很容易使用 对吗 嗯 没那么多 我想做的事 使用自定义子类UIButton 它没有做任何定制的事情titleLabel 我想要一个多行属性标题 即 第一行全部大写 我意识到这不是属性的一部分 Bolde
  • git diff - 仅显示远程上的新内容

    我在 github 上有一个本地存储库和一个远程存储库 由于商业原因 它们不同步 我已经在我保留的本地上做了很多工作 现在我手动将远程的所有新内容添加到我的本地 没有分支机构 当我使用该命令时 git diff color master o
  • 向 JsonOutputFormatter 构造函数提供 ArrayPool 对象

    从 net RC2 升级到 RTM 后 我发现我需要向派生自 ArrayPool 的 JsonOutputFormatter 构造函数提供一个参数 我如何获得这个对象 我手动新建 JsonOutputFormatter 因为我需要配置 Re
  • Quartz API 和 Joda Time API 之间有什么关系吗?

    是否可以在 JodaTime 中创建一个日期 然后让 Quartz 使用 JodaTime 对象安排作业 我们可以给 Quartz API 一个Period jodaPeriod 以便在一天中的特定时间段内运行任务吗 这两个 API 是否相
  • C++ char 数组输入 - 解释

    我有一个练习 编写一个程序 接收一个句子 然后从每个单词中取出第一个字母并创建一个新单词 我的代码 int main char str new char 50 for int i 0 i lt 50 i str i NULL cin gt
  • 预提交钩子文件暂存以进行提交

    如果您在 Git 中有一个用于创建 或修改 文件的预提交挂钩 那么该文件是否需要暂存才能提交 例如 如果我有一个预提交挂钩来创建某些代码的缩小版本 我是否需要git add那个缩小版本可以包含在提交中吗 是的 您必须自己将文件添加到索引中
  • 是否可以通过 Pip 安装部分 Python 包?

    我有一个被许多项目使用的内部实用程序库 从实用程序库中提取的代码中的项目之间有相当多的重叠 但随着库的增长 任何单个项目获得的不会使用的额外内容也会增加 如果该库仅包含 python 那么这不会成为问题 但该库也捆绑在二进制文件中 Exam
  • 一行中两个等号?

    有人可以解释一下这是做什么的以及它如何是合法的 C 代码吗 我在这段代码中找到了这一行 http code google com p compression code downloads list http code google com