- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在经历 K&R 并决定做一个实验。在 K&R 首先是 while
循环被教导,然后 for
循环被教导。在这样做的过程中,同一个程序是用 while
编写的。循环和 for
环形。这些程序都具有相同的输出并且在功能上做同样的事情。然后我想使用 vim -d <(xxd celsius) <(xxd ccelsius)
来比较这两个二进制文件并认为它们是同一个文件;然而,他们不是。虽然文件的某些部分相同,但也存在显着差异。我想知道为什么存在这些差异,以及是否有任何方法可以使文件编译为相同的二进制文件。我正在使用 gcc
作为我的编译器。
#include <stdio.h>
/* print Fahrenheit-Celsius table
* for fahr = 0, 20, ..., 300; floating-point version */
int main(void)
{
float fahr, celsius;
int lower, upper, step;
lower = 0; /* lower limit of temperature table */
upper = 300; /* upper limit */
step = 20; /* step size */
fahr = lower;
while (fahr <= upper) {
celsius = (5.0/9.0) * (fahr-32.0);
printf("%3.0f %6.1f\n", fahr, celsius);
fahr = fahr + step;
}
}
#include <stdio.h>
/* print Fahrenheit-Celsius table */
int main(void)
{
float fahr;
for (fahr = 0; fahr <= 300; fahr = fahr + 20)
printf("%3.0f %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}
diff <(xxd celsius) <(xxd ccelsius)
14,15c14,15
< 000000d0: c00e 0000 0100 0000 a700 0000 0000 0000 ................
< 000000e0: c00e 0000 0400 0000 0000 0000 0000 0000 ................
---
> 000000d0: e00e 0000 0100 0000 8d00 0000 0000 0000 ................
> 000000e0: e00e 0000 0400 0000 0000 0000 0000 0000 ................
19,20c19,20
< 00000120: 680f 0000 0100 0000 0600 0000 0000 0000 h...............
< 00000130: 680f 0000 0100 0000 0000 0000 0000 0000 h...............
---
> 00000120: 6e0f 0000 0100 0000 0600 0000 0000 0000 n...............
> 00000130: 6e0f 0000 0100 0000 0000 0000 0000 0000 n...............
24,25c24,25
< 00000170: 700f 0000 0100 0000 1a00 0000 0000 0000 p...............
< 00000180: 700f 0000 0200 0000 0000 0000 0000 0000 p...............
---
> 00000170: 740f 0000 0100 0000 1a00 0000 0000 0000 t...............
> 00000180: 740f 0000 0200 0000 0000 0000 0000 0000 t...............
29c29
< 000001c0: 900f 0000 0100 0000 0c00 0000 0000 0000 ................
---
> 000001c0: 900f 0000 0100 0000 1800 0000 0000 0000 ................
34,35c34,35
< 00000210: 9c0f 0000 0100 0000 0d00 0000 0000 0000 ................
< 00000220: 9c0f 0000 0000 0000 0000 0000 0000 0000 ................
---
> 00000210: a80f 0000 0100 0000 0b00 0000 0000 0000 ................
> 00000220: a80f 0000 0000 0000 0000 0000 0000 0000 ................
39,40c39,40
< 00000260: ac0f 0000 0100 0000 4800 0000 0000 0000 ........H.......
< 00000270: ac0f 0000 0200 0000 0000 0000 0000 0000 ................
---
> 00000260: b40f 0000 0100 0000 4800 0000 0000 0000 ........H.......
> 00000270: b40f 0000 0200 0000 0000 0000 0000 0000 ................
73c73
< 00000480: 1985 c866 b4a1 304e 965d 4a68 80be 0434 ...f..0N.]Jh...4
---
> 00000480: 37e9 3480 21a8 3e96 b783 ea6a 3feb 00d8 7.4.!.>....j?...
76c76
< 000004b0: 2800 0080 1800 0000 c00e 0000 0000 0000 (...............
---
> 000004b0: 2800 0080 1800 0000 e00e 0000 0000 0000 (...............
237,256c237,256
< 00000ec0: 5548 89e5 4883 ec20 c745 fc00 0000 00c7 UH..H.. .E......
< 00000ed0: 45f0 0000 0000 c745 ec2c 0100 00c7 45e8 E......E.,....E.
< 00000ee0: 1400 0000 f30f 2a45 f0f3 0f11 45f8 f30f ......*E....E...
< 00000ef0: 1045 f8f3 0f2a 4dec 0f2e c80f 825d 0000 .E...*M......]..
< 00000f00: 0048 8d3d 9400 0000 f20f 1005 8000 0000 .H.=............
< 00000f10: f30f 100d 8000 0000 f30f 1055 f8f3 0f5c ...........U...\
< 00000f20: d1f3 0f5a caf2 0f59 c1f2 0f5a c0f3 0f11 ...Z...Y...Z....
< 00000f30: 45f4 f30f 5a45 f8f3 0f5a 4df4 b002 e825 E...ZE...ZM....%
< 00000f40: 0000 00f3 0f10 45f8 f30f 2a4d e8f3 0f58 ......E...*M...X
< 00000f50: c1f3 0f11 45f8 8945 e4e9 90ff ffff 8b45 ....E..E.......E
< 00000f60: fc48 83c4 205d c390 ff25 a200 0000 0000 .H.. ]...%......
< 00000f70: 4c8d 1d91 0000 0041 53ff 2581 0000 0090 L......AS.%.....
< 00000f80: 6800 0000 00e9 e6ff ffff 0000 0000 0000 h...............
< 00000f90: 721c c771 1cc7 e13f 0000 0042 2533 2e30 r..q...?...B%3.0
< 00000fa0: 6620 2536 2e31 660a 0000 0000 0100 0000 f %6.1f.........
< 00000fb0: 1c00 0000 0000 0000 1c00 0000 0000 0000 ................
< 00000fc0: 1c00 0000 0200 0000 c00e 0000 3400 0000 ............4...
< 00000fd0: 3400 0000 680f 0000 0000 0000 3400 0000 4...h.......4...
< 00000fe0: 0300 0000 0c00 0100 1000 0100 0000 0000 ................
< 00000ff0: 0000 0001 0000 0000 0000 0000 0000 0000 ................
---
> 00000ec0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
> 00000ed0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
> 00000ee0: 5548 89e5 4883 ec20 0f57 c0c7 45fc 0000 UH..H.. .W..E...
> 00000ef0: 0000 f30f 1145 f8f3 0f10 0591 0000 000f .....E..........
> 00000f00: 2e45 f80f 825b 0000 0048 8d3d 9800 0000 .E...[...H.=....
> 00000f10: f20f 1005 8800 0000 f30f 100d 7400 0000 ............t...
> 00000f20: f30f 5a55 f8f3 0f10 5df8 f30f 5cd9 f30f ..ZU....]...\...
> 00000f30: 5acb f20f 59c1 f20f 1145 f00f 28c2 f20f Z...Y....E..(...
> 00000f40: 104d f0b0 02e8 2400 0000 8945 ecf3 0f10 .M....$....E....
> 00000f50: 0543 0000 00f3 0f58 45f8 f30f 1145 f8e9 .C.....XE....E..
> 00000f60: 93ff ffff 8b45 fc48 83c4 205d c390 ff25 .....E.H.. ]...%
> 00000f70: 9c00 0000 4c8d 1d8d 0000 0041 53ff 257d ....L......AS.%}
> 00000f80: 0000 0090 6800 0000 00e9 e6ff ffff 0000 ....h...........
> 00000f90: 0000 9643 0000 0042 0000 a041 0000 0000 ...C...B...A....
> 00000fa0: 721c c771 1cc7 e13f 2533 6420 2536 2e31 r..q...?%3d %6.1
> 00000fb0: 660a 0000 0100 0000 1c00 0000 0000 0000 f...............
> 00000fc0: 1c00 0000 0000 0000 1c00 0000 0200 0000 ................
> 00000fd0: e00e 0000 3400 0000 3400 0000 6e0f 0000 ....4...4...n...
> 00000fe0: 0000 0000 3400 0000 0300 0000 0c00 0100 ....4...........
> 00000ff0: 1000 0100 0000 0000 0000 0001 0000 0000 ................
258c258
< 00001010: 800f 0000 0100 0000 0000 0000 0000 0000 ................
---
> 00001010: 840f 0000 0100 0000 0000 0000 0000 0000 ................
518,519c518,519
< 00002050: 2502 0000 0003 00c0 1d00 0000 0000 0000 %...............
< 00002060: c01d 0000 0000 0000 0200 0000 0f01 1000 ................
---
> 00002050: 2502 0000 0003 00e0 1d00 0000 0000 0000 %...............
> 00002060: e01d 0000 0000 0000 0200 0000 0f01 1000 ................
521c521
< 00002080: c00e 0000 0100 0000 1c00 0000 0100 0001 ................
---
> 00002080: e00e 0000 0100 0000 1c00 0000 0100 0001 ................
最佳答案
在第一个例子中
celsius = (5.0/9.0) * (fahr-32.0);
使用 double
计算结果,然后将其截断为 float
,然后将其提升回 double
以打印%f
格式。
在第二个例子中,计算再次使用double
printf("%3.0f %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
但是 float
没有截断,因为 double
是预期的。所以计算结果略有不同。
关于c - 为什么这两个文件有不同的十六进制输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40366011/
我正在使用 OUTFILE 命令,但由于权限问题和安全风险,我想将 shell 的输出转储到文件中,但出现了一些错误。我试过的 #This is a simple shell to connect t
我刚刚开始学习 Java,我想克服在尝试为这个“问题”创建 Java 程序时出现的障碍。这是我必须创建一个程序来解决的问题: Tandy 喜欢分发糖果,但只有 n 颗糖果。对于她给第 i 个糖果的人,
你好,我想知道我是否可以得到一些帮助来解决我在 C++ 中打印出 vector 内容的问题 我试图以特定顺序在一个或两个函数调用中输出一个类的所有变量。但是我在遍历 vector 时收到一个奇怪的错误
我正在将 intellij (2019.1.1) 用于 java gradle (5.4.1) 项目,并使用 lombok (1.18.6) 来自动生成代码。 Intellij 将生成的源放在 out
编辑:在与 guest271314 交流后,我意识到问题的措辞(在我的问题正文中)可能具有误导性。我保留了旧版本并更好地改写了新版本 背景: 从远程服务器获取 JSON 时,响应 header 包含一
我的问题可能有点令人困惑。我遇到的问题是我正在使用来自 Java 的 StoredProcedureCall 调用过程,例如: StoredProcedureCall call = new Store
在我使用的一些IDL中,我注意到在方法中标记返回值有2个约定-[in, out]和[out, retval]。 当存在多个返回值时,似乎使用了[in, out],例如: HRESULT MyMetho
当我查看 gar -h 的帮助输出时,它告诉我: [...] gar: supported targets: elf64-x86-64 elf32-i386 a.out-i386-linux [...
我想循环遍历一个列表,并以 HTML 格式打印其中的一部分,以代码格式打印其中的一部分。所以更准确地说:我想产生与这相同的输出 1 is a great number 2 is a great
我有下面的tekton管道,并尝试在Google Cloud上运行。集群角色绑定。集群角色。该服务帐户具有以下权限。。例外。不确定需要为服务帐户设置什么权限。
当尝试从 make 过滤非常长的输出以获取特定警告或错误消息时,第一个想法是这样的: $ make | grep -i 'warning: someone set up us the bomb' 然而
我正在创建一个抽象工具类,该类对另一组外部类(不受我控制)进行操作。外部类在某些接口(interface)点概念上相似,但访问它们相似属性的语法不同。它们还具有不同的语法来应用工具操作的结果。我创建了
这个问题已经有答案了: What do numbers starting with 0 mean in python? (9 个回答) 已关闭 7 年前。 在我的代码中使用按位与运算符 (&) 时,我
我写了这段代码来解析输入文件中的行输入格式:电影 ID 可以有多个条目,所以我们应该计算平均值输出:**没有重复(这是问题所在) import re f = open("ratings2.txt",
我需要处理超过 1000 万个光谱数据集。数据结构如下:大约有 1000 个 .fits(.fits 是某种数据存储格式)文件,每个文件包含大约 600-1000 个光谱,其中每个光谱中有大约 450
我编写了一个简单的 C 程序,它读取一个文件并生成一个包含每个单词及其出现频率的表格。 该程序有效,我已经能够在 Linux 上运行的终端中获得显示的输出,但是,我不确定如何获得生成的显示以生成包含词
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
1.普通的输出: print(str)#str是任意一个字符串,数字··· 2.格式化输出: ?
我无法让 logstash 正常工作。 Basic logstash Example作品。但后来我与 Advanced Pipeline Example 作斗争.也许这也可能是 Elasticsear
这是我想要做的: 我想让用户给我的程序一些声音数据(通过麦克风输入),然后保持 250 毫秒,然后通过扬声器输出。 我已经使用 Java Sound API 做到了这一点。问题是它有点慢。从发出声音到
我是一名优秀的程序员,十分优秀!