假设Excel 电子表格中的单元格A1包含数字3。如果我输入公式
= - A1^2 + A1
Run Code Online (Sandbox Code Playgroud)
在 A2 中,然后 A2 显示数字 12,此时它应该显示 -6(或 -9+3)
这是为什么?我怎样才能防止这种误导行为?
今天早些时候,我以为我的剪贴板中有一个 URL,但实际上我从电子表格中复制了四个 9 位整数,它们是来自专有系统的标识号。与手头的任务完全无关。我将它粘贴到 Firefox 中,惊讶地发现它实际上加载了一个页面。我以前见过IPv4地址的无点十进制表示法,但这个长数字要大得多。
714687644714805209715128610715964400(在前面贴一个HTTP://)
这是如何运作的?我在 Internet 上找到的所有十进制 -> IPv4 转换器都将其视为无效输入。如果我获取它实际加载的 IPv4 地址,并执行相同的计算将其转换为无点十进制,我得到的数字要小得多。
我读过ping可以接受双字并进行一些转换,但它无法将此数字转换为 IP 地址。IPv6是不可能的,因为该主机没有 IPv6 连接。
这是一种什么样的疯狂?我和我的同事都难住了。
编辑:它现在重新上线。
根据 Excel,
4^3^2 = 4096
然而,根据我在学校学到的,首先我必须计算 3^2 = 9,然后 4^9 = 262144。
谁说的对,我以前老师的Excel?
如果我们指定一个 IPv4 地址,我们通常都会执行 1.2.3.4 的模式。现在基本上这只是一种以更易读的形式编写 32 位数字的“一种”方式。
IP 地址 1.2.3.4 也可以写成 1.2.(3*256+4) = 1.2.772
这使得您可以拥有 3 个点(即常见做法)、2 个点、1 个点和根本没有点的 IP 地址(即正常的无符号 32 位整数写为十进制整数)。
使用这种替代符号,您可以编写一些更具可读性的 IP 地址:10.10.4000 与 10.10.15.160 相同
一个不好的副作用是,如果它与像 apache 这样的网络服务器结合使用,您可以在单个 IP 地址上定义 4 个不同的虚拟主机,而无需使用 DNS 或主机文件。(在家里试试这个;)
我知道有很多基于 GUI 的工具(如 Windows IP 配置)只有 4 个字段,它们都只接受 0-255。许多命令行工具(如 ping、curl、ssh 等)和几乎所有网络浏览器(基本上有一个自由格式的地址栏)都可以获取“任何”格式。
现在我的问题是:我们“在野外”接受任何形式的工具接受/允许这些类型的替代 IPv4 符号有多好?