So what that means is the compiler is actually going to first "cast" so to speak 13 from whatever it is - to a float -- to a floating point value -- and then perform the division for us.
所以这里的意思是编译器将,做“计算“,譬如13这样一个浮点数,-到另一个浮点数-,然后为我们处理除法。
Same way that I have multiplication or division as a primitive, functions are going to give me, or somebody else who wrote them for me as part of a library, a new primitive that I'm going to be able to use.
我在用乘法或者除法当做原语,这些函数,或者别人写程序库中的函数,将会给我返回一个,我能使用的新原语。
It's really the multiplication and in this case, division that the problem arises. Yeah?
这里实际上是乘法和,除法引起了那个问题,请说?
Just as in grade school when you're doing division and multiplication, you do it from left to right in terms of order of operations.
正像是在小学你做除法和乘法的时候,你毫不含糊地从左到右,按顺序做运算。
If I wanted to get full, real division, I should make one of them a float.
如果我想要得到真正的除法答案,我需要把他们之中的一个,变为浮点数类型。
And then in the even case I've got to do a square and the divide.
如果是偶数情况的话,我还要再做一次除法和求平方。
So hopefully there is indeed a way to fix this, but it looks as though the division operator, the single slash is division but -- and here's a curiosity about many programming languages -- because 17 is an integer and because 13 is an integer, why do I say that?
我的确希望有一个方法来修正这个错误,但是看起来,好像那个除法操作,那个斜杠是除法,但是--对于很多编程语言来说,是挺奇怪的--因为17是一个整数,13也是一个整数,为什么我这样说?
It's doing integer division.
这是整数的除法。
> It only works with division?
>,这是不是只对除法起作用?
Right, that divide is, if x is an integer and two is an integer, what's it going to do?
好,这个除法意思是,如果x是个整数而2也是个整数,那么会怎么操作呢?
That's true, but especially because of my parenthesization 32 over here, because I'm saying, "Do f minus 32, but then multiply it by the division on the left."
是那样的,但是特别地,因为我这里加上了括号,因为我指明,“f减去,然后它乘以左边的那个除法的结果“
I can do division, right? Whoa. Right?
我也可以做除法对不对?
O Right there, order n. So I have order n operations at each level in the tree. And then how many levels deep am I? Well, that's the divide, right? So how many levels do I have?
在这儿,所以我在树的每个层次都要做O的操作,那个这棵有多少层呢?,这是一个除法,不是吗?
应用推荐