double取整数部分_“地板除”还是“取整除”?地板除和天花板除floor division和ceil devision...

Python基础入门:从变量到异常处理-阿里云天池

上一篇文章知识点太多,我需要一一查看理解。

在运算符 ➡ 算数运算符 ➡ 操作符 ➡ // 整除(地板除) 3//4

为什么叫地板除?

来自知乎友人 @陈沛鑫 的解答:为什么地板除会被称为地板除?

向下取整除,就是地板除 floor division
向上取整除,就是天花板除,ceil division

然而,我更蒙了,还有天花板除是什么,难道一个除法计算,还能盖房子吗?

还好找到文章:《“地板除”还是“取整除”?—论程序员是如何被翻译误导的》[1]简单总结下:

1.地板除“floor division”的根源追溯:

在Lear Python APP中

v2-9ac218ea91156bcb73f394fcf16e266c_b.jpg

1.“//” 操作符:

这个符号跟“+”、“-”一样,都叫做“操作符”(Operator)。

这个操作符由两个向右的斜线(forward slash)组成,对应英文是 “floor division”。

2.英文解释:

If you imagine a room where 3 is on the ceiling and 2 is on the floor. 2.5 would fit in the middle. Floor division means the "//" will always take the floor or the lower number.[2]

假想一个房间,数字“3”在屋顶上,数字“2”在地板上,数字“2.5”处于中间。“floor division”的意思是:“//”这个运算符会得到地板上的数字或者较小的那个数字。

如图:

v2-8c6d7e292eb197e753727071a7722f58_b.jpg
地板除和天花板除

根源于:

数学家高斯在1808年为“floor 函数”引入了[x]这个记号。1962年计算机科学家肯尼斯·艾佛森在他的书中引入了“floor”和“ceiling”这两个记号。

“floor 函数”也被称为“最大整数函数”(greatest integer)或“整数函数”(entier function),该函数获得的值是一个变量“x”的整数部分。

整除 or 地板除,一词两译哪个才是正确的?

“取整除”也是很对的,“取整除”运算取的就是除法结果的整数部分。

在中文中,“除法结果”有一个专门的术语,叫“商”。

  • 关于“商”:在英文中对应的说法叫做“quotient”。
The word quotient is from the Latin 'quotiens', which means 'how many times'. A quotient is the answer to a division problem. A division problem describes 'how many times' a number will go into another. The first known usage of the word in mathematics is found around 1400-1500 AD in England.

除法问题描述的是:一个数字能“进入”到另一个数字的次数。这里“进入”应该翻译成“除”。

英文中一般这样描述:

Three goes into fifteen five times.

3除15得5。

16//3

This code shows that 3 goes into 16 five times:

v2-3c8cf3db4d0b08714a1dba7ca6a2f9ff_b.jpg
To determine the quotient and remainder of a division, use the floor division and modulo operators, respectively.

“若要通过除法运算得到商和余数,可以分别使用‘取整除’(地板除)运算符和‘取模’运算符(取余运算符)。”

v2-c8e0bf19178e9035f4d859f3fa6f31b0_b.jpg

从编程学习者的角度来看,当了解了“floor”的来历后,“地板除”是一个非常形象易懂的翻译方法,求“地板上的数字”。而“ceiling division”,就是求“天花板上的数字”。

国内有一种译法,

就将“floor”对应的取整翻译成“向下取整”,把“ceiling”对应的取整翻译成“向上取整”。

终于深刻明白知友回答的意思了。

v2-8c6d7e292eb197e753727071a7722f58_b.jpg

参考

  1. ^“地板除”还是“取整除”?: https://mp.weixin.qq.com/s/aoRKUtx9fOmTjCn_Kzun0A
  2. ^“floor division”的英文解释: https://www.codecademy.com/forum_questions/5384587e52f863dcb8001c82?__cf_chl_captcha_tk__=49370967ba71e33b1f86254d9c9a28f1aab10fd3-1599443174-0-AUQaTKuAewzJeqJ1yQuVrOHZVmZN22nIdgw-F9t9Kxw1L0Jpm84HycUOwi8_mEt8gnkub_YowydLjae-MQdEruqkr72eJzhviy44ILu3huzFqewmix-NRBHcfCz6kazWPXBx2pEuCr2QZ5O2lIhbTafl_e_Yn3gWJZGa51fztki6kHyjoJnJUKH5FYXegOjk_ovsnMZICHvP4sQCYVWlsmQwCVrVW-LLR837uE4mUYj9ijBxWHjMdGlCM_Hd66NYCI7lxFMimarpjrlD-IX4qvP6Hqqi1aqrlcjwOcqN_b0Wbl-iC8KxpUl6l-kgpeQPzrpvnTCepjl4xj-OHSV0hUQHm_D2Wid4rm4fyhrvZcwHcTcrsJL83dEHi5TLWmVp5Y6Q1MEvfcvbHpsDyPuEtaoaS6OymCtfzDiKc-LUEIpsoBOYAUIA6Ovv_-OBvTeDvkW5kV44cy4CaLbMcLNPFnVZOlIW3vgChGYXQIPdZQljTO3k__ekt8Ri-Dstvf9A9pLimgQvZsgQNCLhPfCqKg8SOm64Pk2ItxRDw5JORF1Lw94DJ1DopCwgJf4ccrYuf1w5UYZQLtxpbncAaU-ioLYpgXy4DYYfMCMADDYrZnmi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值