为什么使用十六进制?

2023-12-07

嘿!我正在看这段代码http://www.gnu.org/software/m68hc11/examples/primes_8c-source.html

我注意到在某些情况下他们使用十六进制数字,例如第 134 行:

for (j = 1; val && j <= 0x80; j <<= 1, q++)

那么他们为什么要使用 0x80 呢?我不太擅长十六进制,但我找到了一个在线十六进制转十进制的方法,它给了我 0x80 的 128。

同样在第 134 行之前,在第 114 行,他们有这样的内容:

small_n = (n & 0xffff0000) == 0;

十六进制转十进制给出了该十六进制数 4294901760。 所以在这一行中,他们进行了位 AND 并将结果与​​ 0 进行比较?

为什么不直接使用号码呢? 任何人都可以解释一下,并请举例说明其他情况。

我还看到过大行代码,其中只是十六进制数字,但从未真正理解为什么:(


在您引用的两种情况下,数字的位模式很重要,而不是实际的数字。

例如, 在第一种情况下,j随着循环的进行,将变为 1,然后是 2、4、8、16、32、64,最后是 128。

用二进制表示,即

0000:0001, 0000:0010, 0000:0100, 0000:1000, 0001:0000, 0010:0000, 0100:0000 and 1000:0000.

C(直到 C23)或 C++(直到 C++14)中没有二进制常量选项,但在十六进制中更清晰一些:0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, and 0x80.

在第二个例子中, 目标是删除该值的低两个字节。 因此,给定值为 1,234,567,890,我们希望最终得到 1,234,567,168。
在十六进制中,更清楚:从0x4996:02d2, 结束于0x4996:0000.

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

为什么使用十六进制? 的相关文章

  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • json.net自定义jobject反序列化

    我正在尝试使用 JsonConvert DeserializeObject string 将字符串反序列化为可与动态一起使用的 jobject 来动态访问 json 文档 但是我想避免知道文档的大小写 以便我可以输入 dynamic doc
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 删除是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 C 编程 free 如何知道要释放多少 https stackoverflow com questions 1518711 c programming how does free know how m
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 是否存在指向不同类型的指针具有不同大小的平台?

    C 标准允许指向不同类型的指针具有不同的大小 例如sizeof char sizeof int 是允许的 但是 它确实要求如果将指针转换为void 然后转换回其原始类型 它必须与其原始值进行比较 因此 从逻辑上来说 sizeof void
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • 一元 +/- 运算符如何可能导致“-a”或“+a”中的整数提升,“a”是算术数据类型常量/变量?

    这句看似微不足道的台词摘自我的迈克 巴纳汉和布雷迪的 C 书 第 2 8 8 2 节 http publications gbdirect co uk c book chapter2 expressions and arithmetic h
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 在 OpenGL 中渲染纹理 1 到 1

    所以我想做的是使用 OpenGL 和 C 将纹理渲染到平面上 作为显示图像的一种方式 但是我需要确保在渲染纹理时没有对纹理进行任何处理 抗锯齿 插值 平滑 模糊等 这是 OpenGL 处理渲染纹理的默认方式吗 或者是否需要设置一些标志才能禁
  • 逆向工程 ASP.NET Web 应用程序

    我有一个 ASP NET Web 应用程序 我没有源代码 该 bin 包含 10 个程序集和一个 compiled 文件 我在 App Code dll 上使用 Reflector 它向我显示了类和命名空间之类的东西 但它太混乱了 有没有什
  • 使用 jQuery 从 ASP.Net JSON 服务获取数据

    我正在尝试调用 Google 地图地理编码 API 从纬度 经度对中获取格式化的地址 然后将其记录到控制台 我正在尝试获取为给定位置返回的第一个 formatted address 项目 我很简单无法从 JSON 中提取该项目 我不知道为什
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne

随机推荐

  • 我如何知道 ListBoxItem 是否是 Wpf 的 ListBox 中的最后一个项目?

    我怎么知道是否ListBoxItem是集合的最后一项 在ItemContainerStyle或在ItemContainer的模板 在 Wpf 内ListBox 这个问题是因为我需要知道某个项目是否是最后一个以其他方式显示的项目 例如 假设我
  • 抽象类的非静态方法和静态方法有什么区别?

    我知道在抽象类中使用静态方法不是最佳实践 但是如果我在抽象类中同时使用静态方法和非静态方法有什么区别 我假设调用这些方法没有区别 因为我们无法为抽象类创建实例 所以我们可以仅使用类名调用静态和非静态方法 除了关键字 Static 之外 它们
  • 在Pygame中沿光标方向绘制无限长度的线

    我正在寻找有关 pygame 的帮助 我正在用 Python 开发简单的游戏来学习 Pygame 我想制作一个可以旋转并且可以用激光线射击的宇宙飞船 我已经完成了方向键控制 我们也可以用鼠标位置旋转飞船 但是我在射击方面遇到了问题 我想从宇
  • data.table 时间子集与 xts 时间子集

    您好 我希望按时间对一些详细数据进行子集化 我通常使用xts做类似的事情 subset string lt T10 00 T13 00 xts min obj subset string 获取每天上午 10 点到下午 1 点 含 之间的所有
  • 如何在 R 中完成一个变量在其因子水平上的相关性(按日期匹配)

    我试图根据因子水平确定变量的不同子集 浓度 如下 之间的相关性 在本例中 Lake A B C 换句话说 测试 A 处浓度测量值之间的相关性对照 B 处的浓度测量 然后 B 对照 C A 对照 C 问题是基于因子的子集具有不同的长度 但我只
  • PHP headers_list() 未显示所有标头

    根据文档 http php net manual en function headers list php 以及这条评论 http php net manual en function headers list php 110330 php
  • 在 ng-repeat 的每次迭代中执行脚本/函数

    我在这样的元素上使用 ng repeat div style width 1px height 1px aSize div
  • 关于双循环的简单Python代码

    我在 Spyder IDE 上测试了以下 python 代码 认为它会输出二维数组q数量不断增加 从 0 31q 0 0 to q 3 7 但它实际上返回 q 为 24 25 26 27 28 29 30 31 24 25 26 27 28
  • LINQ 查询重用和延迟执行

    我的印象是我可以创建一个 LINQ 查询 然后在更改涉及的参数时重用它 但似乎你无法更改源集合 有人能给我一个很好的解释为什么吗 因为我显然误解了一些基本的东西 这是一些示例代码 var source Enumerable Range 1
  • 基于因子变量中观测值数量的子集化

    如何根据因子变量水平的观察次数进行子集化 我有一个包含 1 000 000 行和近 3000 个级别的数据集 我想用少于 200 个观察值对级别进行子集化 data lt read csv Dropbox Shared data csv s
  • Ubuntu18.04 32 位上的 Visual Studio Code 安装错误:“snap“code”在此体系结构的稳定版本 (i386) 上不可用”

    尝试在 Ubuntu 18 04 32 位上安装 Visual Studio Code 时出现以下错误 error snap code is not available on stable for this architecture i38
  • 如何避免 python 将大数转换为科学记数法?

    我的数据结构如下 1404407396000 484745869385011200 0 1922149633 The nurse from the university said I couldn t go if I don t get a
  • 恢复的数据库缺少视图、存储过程和外键

    我正在尝试使用备份还原在 SQL Management Studio SQL Server Express 中创建数据库的副本 本地到本地 当我这样做时 它会复制表和数据 但忽略视图 存储过程和外键 对象资源管理器 gt 写入并单击 数据库
  • 在 R data.table 中创建虚拟变量

    我正在 R 中处理一个非常大的数据集 并且一直在使用数据帧进行操作 并决定切换到 data tables 以帮助加快操作速度 我无法理解 J 操作 特别是我正在尝试生成虚拟变量 但我无法弄清楚如何在 data tables 中编写条件操作
  • 在运行时将 ADO.Net DataSet 指向不同的数据库?

    我有一个大型 ADO Net 数据集和两个具有不同约束的数据库模式 Oracle 数据集将使用任一模式 但我希望能够告诉数据集在运行时使用哪个模式 通过连接字符串 这可能吗 在 Net 2 0 世界中 您可以在运行时更改表适配器上的连接字符
  • void ** 和 void * 的编译警告

    我有一个关于void and void 我知道这是一个老问题 并且之前在 stackoverflow 中已经被问过 某种程度上 所以问题如下 当我在 ubuntu 10 10 下使用 gcc 4 4 3 编译此代码时 收到以下警告 zz c
  • Android:使用捆绑包在片段之间传递数据

    我正在尝试使用捆绑包在不同活动的片段之间传递数据 我有两个片段 片段 A 附加在活动 A 上 片段 B 附加到另一个活动 活动 B 我需要将编辑文本字符串从片段 A 传递到片段 B 我如何使用捆绑包来实现这一点 有人可以给我一个 kotli
  • CSS背景拉伸到窗口底部?

    我正在帮助重新设计一个网站www liveatsheastadium com test 我试图找出一种方法来获得透明背景 使用background rgba 属性 来拉伸页面的整个高度 无论分辨率如何 我尝试将容器 html 和正文高度设置
  • 在 PowerShell 中设置表格格式以导出为 CSV

    我严重睡眠不足 压力很大 所以这可能非常简单 但我仍然无法弄清楚 我想要导出各种内容 例如服务 进程 防火墙规则 本地用户 以及我需要的任何内容作为 CSV 但是每当我将其导出时 当我打开它时 CSV 在 Excel 中只有 1 列 我只希
  • 为什么使用十六进制?

    嘿 我正在看这段代码http www gnu org software m68hc11 examples primes 8c source html 我注意到在某些情况下他们使用十六进制数字 例如第 134 行 for j 1 val j