【发布时间】:2015-09-12 17:31:33
【问题描述】:
当我注意到一些有趣的事情时,我正在研究一些二进制练习问题。计算机如何区分二进制值。例如二进制的 13 是 1101,而 0.8125 也是二进制的 1101。由于它们的二进制值相同,计算机如何知道哪个是哪个。或者如果我将它转换回以 10 为底,我怎么知道这个数字最初是 13 还是 0.8125?
【问题讨论】:
标签: binary
当我注意到一些有趣的事情时,我正在研究一些二进制练习问题。计算机如何区分二进制值。例如二进制的 13 是 1101,而 0.8125 也是二进制的 1101。由于它们的二进制值相同,计算机如何知道哪个是哪个。或者如果我将它转换回以 10 为底,我怎么知道这个数字最初是 13 还是 0.8125?
【问题讨论】:
标签: binary
计算机不关心二进制值的“含义”,直到您指示它使用它。当你这样做时,你明确地“告诉”计算机是什么意思。
【讨论】:
内存中任意位置的二进制值可以是任何东西(数字、程序指令、浮点数等)...程序必须知道在该位置期望什么类型。
【讨论】:
数据类型就是答案。 计算机查找数据类型。
如果二进制值是1101,并且声明变量时提到的数据类型是整数,那么它将是13。如果提到的数据类型是float,那么它将是0.8125。如果提到的数据类型是 char,那么 13 就是字符的 ascii 值。
希望你明白我的解释。
【讨论】: