百科问答小站 logo
百科问答小站 font logo



为什么python整数除法运算得浮点数? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

整数 不等于 整型。

你的问题应该是,两个整型相除为什么得到浮点型……

如果一定要说就是规定如此。

事实上数值运算的时候类型发生变化是非常正常的事情……

例如在C语言里面,整型与浮点型计算得到浮点型。

你说俩类型相同的加减不会得到其他类型?


C#里面俩short做各种运算会得到int的结果。

这没什么值得大惊小怪的……

DateTime相减还会得到TimeSpan呢……



事实上整型的除法才是不符合直觉的吧……

之所以要设计成那样,是因为整型需要用来做精确计算。

浮点数无法做精确计算,如果直接转换为浮点数计算除法,就会产生精度丢失。

当然有人会说直接向下取整岂不是丢的更多?

事实上这是错误的,因为丢失的部分精确的等于取余运算的结果,也就是说对于C语言而言:

a/b*b+a%b===a


user avatar   pansz 网友的相关建议: 
      

开局一张图,剩下全靠猜?这个没法评价。

从软件的角度虽然我能想出两三种导致这个现象的原因,但非正式发布的产品出现任何问题都是常见现象。盲人摸象的评价没有必要。

跟11代没差别,这个肯定是违背常识的,要知道11代i9只有16线程,12代i9有24线程,24线程超越16线程并不需要多么高超的优化技巧。

调度优化的主要难题是当我们只需要少量线程运作的时候究竟把这个线程安排在哪个核心。

然而,对于全核心全线程同时计算的场景来说,反正都是全核心上场,根本不需要什么优化,谁来都是全核心工作。

如果这个软件能把所有核心用满的话,没道理性能不变。所以肯定有某个环节出了问题。正式版本再说吧。




  

相关话题

  面对对象程序设计中return不能多次使用并且switch最好不用的说法是对的吗? 
  有哪些较好的 C 语言程序源码可供新手临摹参考? 
  人工智能趋势下,孩子学习编程有哪些意义,对未来发展有好处吗? 
  程序员为什么要一直写bug ,不能一次性写好吗? 
  如何看待第三方百度云Pandownload作者被捕? 
  编程时怎么把函数当做变量使用? 
  比尔·盖茨的编程水平怎么样?算得上是大师级别吗? 
  为什么总有一些人推荐计算机学生把重点放在高数和线代? 
  有没有介绍C#这门语言的设计思想的书? 
  为什么几乎所有的量化交易都用Python? 

前一个讨论
为什么C++里,封装类对象消亡时候,先执行封装类的析构函数,再执行成员对象的析构函数?
下一个讨论
和男友异地五年,请他在肯德基吃饭,他主动点餐结果都只有一人份,完全的单人套餐,我应该教他还是提分手?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利