位字节顺序如何影响 C 中的按位移位和文件 IO?

2023-11-27

Let L and B是两台机器。L订购它的bits从最低有效位 (最低有效位)到 MSB(最高有效位),同时B命令 从 MSB 到 LSB。或者,换句话说,L使用 Little Endian 而B使用大尾数法bit- 不要与字节排序相混淆。

问题1SOLVED:

我们正在编写以下我们希望可移植的代码:

#include <stdio.h>

int main()
{
    unsigned char a = 1;
    a <<= 1;

    printf("a = %d\n", (int) a);

    return 0;
}

on L,它会打印 2,但是会发生什么B?是否会改变 1 输出并打印 0?

解决方案:6.5.7 中的 C99 定义表明,至少在 无符号整数类型,<< and >>将乘以或除以 2 分别。

问题2:

我们正在编写以下我们希望可移植的代码:

阅读程序:

/* program READ */
#include <stdio.h>

int main()
{
    FILE* fp;
    unsigned char a;

    fp = fopen("data.dat", "rb");
    fread(&a, 1, 1, fp);
    fclose(fp);

    return 0;
}

并编写程序:

/* program WRITE */
#include <stdio.h>

int main()
{
    FILE* fp;
    unsigned char a = 1;

    fp = fopen("data.dat", "wb");
    fwrite(&a, 1, 1, fp);
    fclose(fp);

    return 0;
}

如果我们运行 WRITE 会发生什么L,将数据文件移动到B和 在那里运行 READ?如果我们运行 WRITEB然后继续阅读L?

抱歉,如果这是常见问题解答。我用谷歌搜索了几个小时但没有运气。


位字节顺序不会影响以字节为单位存储在磁盘上的数据。字节尾数会。

位字节顺序对于串行接口来说很重要,在串行接口中,一次发送一位字节,并且发送者和接收者需要就字节顺序达成一致。例如,位顺序为SPI设备各不相同,您需要在尝试从设备读取数据之前参考数据表。

这是什么维基百科关于位字节顺序说:

术语位字节序或位级 很少使用字节顺序 谈论一个代表 储值,因为它们只是 对于稀有计算机有意义 每个人的架构 位具有唯一的地址。他们是 但用于指代 比特的传输顺序 串行介质。最常见的是这个顺序 由透明地管理 硬件,是位级模拟 小尾数(低位优先), 尽管存在需要的协议 相反的顺序(例如 I²C)。在 网络,有关的决定 位的传输顺序已确定 在数据链接的最底部 OSI 模型的层。

在您的情况下,物理硬盘驱动器接口定义了位顺序,而不管要读取或写入它的处理器如何。

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

位字节顺序如何影响 C 中的按位移位和文件 IO? 的相关文章

  • 双缓冲列表框

    我有一个 CheckedListBox WinForms 控件 它继承自 ListBox 谷歌搜索显示问题出在 ListBox 该控件锚定到其窗体的所有四个边 当调整表单大小时 列表框会出现难看的闪烁 我尝试继承 CheckedListBo
  • 带有 Windows 窗体应用程序的地图

    我正在构建一个需要地图的 C Winforms 应用程序 例如 Google 地图 Bing 地图等 但我对 ToU 许可 非商业使用等感到非常困惑 我的问题 您建议将哪个地图提供商 最好是免费的 嵌入到 winforms 应用程序中以用于
  • 在派生自 Control 的 ASP.NET 自定义控件中呈现自关闭标记

    我正在开发 Facebook FBML 控件库 并希望创建类似于 ASP NET WebControls 库的 FBML 控件 我有一个默认处理渲染的基类 这是我的渲染方法 protected override void Render Ht
  • 如何在自定义保存操作 WFFM 中获取 Sitecore.Current.Site 对象?

    我在用着面向营销人员的 Sitecore 网络表单 在里面save action我得到的表格Sitecore Context Site对象 但该对象没有返回正确的上下文 该值为 modules shell 有谁知道我如何才能获得正确的上下文
  • NHibernate手动控制抓取

    我正在使用 NHibernate 我想控制手动获取相关实体 这是我的示例实体 public class Post public virtual long Id get set public virtual string Title get
  • 字典的线程安全

    如果我有一个 Dictionary
  • flowlayoutpanel和水平滚动条问题

    我正在使用一个 flowlayoutpanel 它有很多逻辑上的按钮 我遇到的问题是 当我调整窗口大小时 当窗口变小时 我无法看到所有水平排列的按钮 相反 当窗口变小时 按钮会下降到下一行 谁能帮我解决这个问题 我只是希望按钮水平排列 当窗
  • 从动态服务器中抓取 html 列表数据

    哈喽大家好 抱歉提出转储问题 这是我最后的手段 我发誓我尝试了无数其他 Stackoverflow 问题 不同的框架等 但这些似乎没有帮助 我有以下问题 一个网站显示一个数据列表 前面有大量的 div li span 等标签 它是一个很大的
  • 给出对象的指针作为参数

    假设我有 void func foo obj 我有 foo object 我该如何制作object进入争论func 只需取消引用它即可 func object
  • Parallel ForEach 的本地初始化如何工作?

    我不确定 Parallel ForEach 中本地 init 函数的使用 如 msdn 文章中所述 http msdn microsoft com en us library dd997393 aspx http msdn microsof
  • 为什么泛型 IList<> 不继承非泛型 IList

    IList
  • ASP.NET Core中间件如何进行DI?

    我正在尝试将依赖项注入到我的中间件构造函数中 如下所示 public class CreateCompanyMiddleware private readonly RequestDelegate next private readonly
  • 允许使用 AutoMapper 或类似工具映射动态类型吗?

    我已经开始使用https github com robconery massive https github com robconery massive对于一个项目 我想知道是否有任何映射工具可以支持动态到静态类型的映射 我以前使用过 Au
  • 从资源文件获取 DisplayName [重复]

    这个问题在这里已经有答案了 我在 App GlobalResources 文件夹中有特定于文化的资源文件 现在我需要从此资源文件中读取 DisplayName 属性的值 我在用 Display Name MerchantName Resou
  • 为什么 istream/ostream 慢

    于 50 40http channel9 msdn com Events GoingNative 2013 Writing Quick Code in Cpp Quickly http channel9 msdn com Events Go
  • 为 winforms ComboBox 中的单个项目着色?

    我遇到了一个困境 我有一个表单 其中包含许多组合框 其中包含在某些情况下可能无效 过时的信息 选项 项目 我不能简单地从项目中删除过时的信息 但我确实想在选项无效时为用户提供视觉线索 我正在考虑对项目进行着色 可能是红色 来指示它们是否无效
  • 绑定未正确更新用户控件属性 MVVM

    编辑 删除旧代码 我将它放在 MainWindow xaml 上
  • 将整个单词与特殊字符匹配的正则表达式不起作用? [复制]

    这个问题在这里已经有答案了 我正在经历这个问题C Regex Match 整个单词 https stackoverflow com q 1209049 443568 它说要匹配整个单词使用 b模式 b 这对于匹配没有任何特殊字符的整个单词效
  • 将 Web 场迁移到 ASP.NET 运行时版本 4,同时保持会话

    我们已将 Web 应用程序从 net 运行时 2 v 3 5 迁移到 net 运行时 4 v 4 5 我有一个部署问题 我们的 sessionstate 服务器是一个 stateserver 并在单独的服务器上运行框架 2 中的 aspne
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存

随机推荐

  • Linux 何时/如何将共享库加载到地址空间?

    程序中什么时候指定共享对象的地址 链接期间 加载中 如果我想找到的内存地址system里面的命令libc在我的程序中我可以轻松找到它gdb 但是如果我不想将程序带入调试器怎么办 这个地址在不同的运行中会改变吗 是否有任何其他静态分析工具可以
  • 在 Web Api 2 中启用会话[重复]

    这个问题在这里已经有答案了 我知道 REST 应该是无状态的 我的 Web Api 与我的 MVC 网站位于同一项目中 我如何在他们之间共享会话 我正在尝试使用 Web Api 2 的优点并使用 Ajax 而不是构建 RESTful API
  • 中的虚线描边

    我想不可能设置像 CSS 这样的描边属性 这很容易 对于 CSS 我们有虚线 点线 实线 但在画布上绘制线条 或笔划时 这似乎不是一个选项 您是如何实施的 我看过一些例子 但它们真的很渴望这样一个愚蠢的功能 例如 http groups g
  • 如何使正则表达式模式优先于另一个模式

    我正在使用正则表达式来提取大学名称 主要观察到两种模式 某个名字 大学 gt 例如 安娜大学 某物 大学 gt 例如 埃克塞特大学 为此 我编写了两种模式 regex re compile join r Uu niversity of w
  • Swift:如何解决“协议”类型的弱变量非法的问题

    在阅读了有关此问题的一些帖子后 我发现我的协议应该继承自 class 以便 weak 能够处理我的委托变量 weak 只能应用于类或类绑定协议类型 如果我的协议不继承自 类 那么 swift 是否会 推断 它应该是弱的 这是将 协议 类型的
  • 当 Bean Validation 抛出 ConstraintViolationException 时自定义 JAX-RS 响应

    Bean 验证是验证对象的一个 不错的选择 但是当ConstraintViolationException被抛出 例如 POST Path company Consumes application json public void save
  • 优化 Lua 的循环执行

    我每 10 毫秒的程序周期执行一次 Lua 脚本 使用相同的 Lua state luaL newstate 在我的应用程序中调用过一次 调用 luaL loadbuffer 肯定会非常快地编译脚本 但似乎没有必要在每次执行脚本时都这样做
  • 函数名称在 bash 中有效,但在 sh 中无效 [重复]

    这个问题在这里已经有答案了 在使用 bash 和 sh 时 我发现以下内容在 bash 中有效 system out println printf 1 但不是在 sh 中 sh system out println not a valid
  • 如何使用 Java 设置 DynamoDB 返回的匹配项的限制?

    在我的 Android 应用程序中 我想从 DynamoDB 查询数据 将会有一千个匹配的项目 但我只想获得其中的前 10 个 我不知道如何设置这个限制 我在文档中找到了这些行 DynamoDB 查询和扫描 API 允许使用限制值来限制结果
  • 忽略转义序列 C++

    我尝试搜索谷歌但找不到答案 谁能告诉我如何忽略存储在 string 中的转义字符 我正在使用一个包含不同字符的数组 如下所示 string str 来自编译器的错误消息 未知转义序列 位于 As Zac has already pointe
  • Inno 设置部分 [Run] 带条件

    我的病情需要帮助 Run 如果它是可能的 我需要运行取决于条件的命令 像这样 if UserPage Values 0 NC then FileName sys inetsrv appcmd exe Parameters set 或者其他方
  • 最大还是默认?

    从可能不返回行的 LINQ 查询获取最大值的最佳方法是什么 如果我只是这样做 Dim x From y In context MyTable Where y MyField value Select y MyCounter Max 当查询未
  • 使用 Python 将流写入 Google Cloud Storage

    我正在尝试迁移AWS Lambda函数写在Python到 CF 那个 即时解压缩并逐行读取 对每条线执行一些灯光变换 将未压缩的输出 一次一行或块 写入 GCS 输出 gt 2GB 但略小于 3GB 因此适合Lambda just 嗯 这似
  • Resttemplate表单/多部分:POST中的图像+ JSON

    我正在尝试调用一个rest ws 使用resttemplate 它接受图像和一些JSON 但是 我似乎无法让它运行 相关代码如下 HttpHeaders header new HttpHeaders header setContentTyp
  • Python 将轴上的日期转换为月份

    我有一个时间序列 我想逐年绘制 我希望数据是每日的 但轴将每月显示为 一月 二月 等 目前我可以获得每日数据 但轴是 1 366 一年中的某一天 或者我可以将每月轴设置为 1 2 3 等 通过将索引更改为 df index month 但数
  • 如何在 Next.js 静态站点生成中获取 URL 查询字符串?

    我想从 Next js 静态站点生成的 URL 获取查询字符串 我在 SSR 上找到了一个解决方案 但我需要一个用于 SSG 的解决方案 Thanks import useRouter from next router import use
  • C# 部署我的应用程序 - 仅从 Web 单击一次

    所以我用 C 开发了我的应用程序 我已准备好部署它 我想让用户始终从我的网站启动它 以便他们始终获得更新 无需安装等 ClickOnce 是执行此操作的正确方法吗 我尝试将 ClickOnce 部署到我的服务器上 但我发现了一些事情 1 用
  • 开源 Telnet Java API

    是否有适用于 Java 的开源 telnet API 库 例如 Python telnetlib 我需要使用 telnet 连接到服务器并从 Java 程序中执行一些命令 我更喜欢使用 Apache Commons Net 库 http c
  • 使用复选框绑定到具有强类型 MVC 视图的布尔列表列表字典

    我正在使用 MVC 4 Net 4 和 Visual Studio 2012 我正在尝试将一个相当复杂的模型与我的观点之一结合使用 但在使其正确绑定方面遇到了严重的困难 该模型用整数键和布尔列表列表值来包装字典 基本上 搜索是对由整数指示的
  • 位字节顺序如何影响 C 中的按位移位和文件 IO?

    Let L and B是两台机器 L订购它的bits从最低有效位 最低有效位 到 MSB 最高有效位 同时B命令 从 MSB 到 LSB 或者 换句话说 L使用 Little Endian 而B使用大尾数法bit 不要与字节排序相混淆 问题