百科问答小站 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线程并不需要多么高超的优化技巧。

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

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

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




  

相关话题

  Android为什么不直接执行Linux的程序?而是自己搞一套? 
  jdk9为何要将String的底层实现由char[]改成了byte[]? 
  程序员的成长离不开哪些软技能? 
  你认为程序员的最高境界是什么? 
  编程新手如何提高编程能力? 
  有教抽象能力的书么? 
  对编程感兴趣的程序员是否都对电路、单片机也怀有浓厚的兴趣? 
  GitHub 上有哪些适合新手跟进的优质项目? 
  传统的try-catch异常处理是否是编程语言发展中的弯路? 
  大学计算机专业有非编程的吗? 

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





© 2024-06-14 - tinynew.org. All Rights Reserved.
© 2024-06-14 - tinynew.org. 保留所有权利