【发布时间】:2021-05-14 06:00:19
【问题描述】:
我有学校任务,但 IDK 如何设计代码...
它需要做的功能是,
-
输入 8 字节整数(我认为它必须是 unsigned long long 类型,因为输入数字必须是 0 或更多)
-
将输入数字分成四个 2 字节并保存每个变量。 >
-
并将每个部分设为十六进制 ffff / ffff / ffff / ffff>
-
最后,将 ffff / ffff / ffff / ffff 转换为十进制数 65535 / 65535 / 65535 / 65535
对不起,我的英语不好,但我非常需要你的帮助.... ;( 我的水平很低,所以当你解释时,我需要一些示例代码来查看和理解。
感谢您阅读我的问题!
【问题讨论】:
-
第 3 步和第 4 步没有意义。计算机中的所有整数都以二进制格式存储。您不能转换为十六进制或十进制。您可以做的是将值打印为十六进制或十进制,但这不是转换
-
从 8 中提取 2 可以通过简单的布尔运算(如掩码和移位)轻松完成。您熟悉 OR、AND、XOR 等布尔运算吗?
-
@4386427:关于“计算机中的所有整数都以二进制格式存储”:这当然不是真的。一些整数使用 ASCII 数字字符存储为十进制数字。有些存储在 BCD 中。 JavaScript 以浮点格式存储所有数字,甚至整数。
-
伙计们,我想我解释得不清楚......我需要的是显示转换后的值结果,而不是实际转换实际值。
-
ASCII、FP 和 BCD 都是二进制数据的表示/解释。有二进制数据和二进制指令代码,就是这样,真的。