一直用Python做计算器用(有点大材小用了啊,呵呵)。今天使用时,却发现一个诡异的现象,在C语言入门经典(第4版)说正负数除数取余操作的差别,就在Python上试验了一下,结果结成了完全不一样。下面列出三种语言做同样运算的差别(外加上Java)。

Java:

Java代码  

import

java.lang.*;

public

class

divmod

{

public

static

void

main(String[] args)

{

System.out.println("45/-7="

+(

45

/-

7

));

System.out.println("45%-7="

+(

45

%-

7

));

System.out.println("-45/7="

+(-

45

/

7

));

System.out.println("-45%7="

+(-

45

%

7

));

}

}

结果是:

C:\Documents and Settings\g1309288>cd /d D:\javapro

D:\JavaPro>javac divmod.java

D:\JavaPro>java divmod

45/-7=-6

45%-7=3

-45/7=-6

-45%7=-3

C:

C代码  

#include

main()

{

printf("45/-7=%2d\n"

,45/-7);

printf("45%%-7=%2d\n"

,45%-7);

printf("-45/7=%2d\n"

,-45/7);

printf("-45%%7=%2d\n"

,-45%7);

}

结果是:

45/-7=-6

45%-7= 3

-45/7=-6

-45%7=-3

Python:

Python代码  

print

(

"45/-7="

,

45

/-

7

);

print

(

"divmod(45,-7)="

,divmod(

45

,-

7

));

print

(

"45%-7="

,

45

%-

7

);

print

(

"-45/7="

,-

45

/

7

);

print

(

"divmod(-45,7)="

,divmod(-

45

,

7

));

print

(

"-45%7="

,-

45

%

7

);

结果是:

C:\Documents and Settings\g1309288\桌面>divmod.py

45/-7= -6.428571428571429

divmod(45,-7)= (-7, -4)

45%-7= -4

-45/7= -6.428571428571429

divmod(-45,7)= (-7, 4)

-45%7= 4

可以看到当有负数存在时,C语言和Python运算的结果是不一样的。C语言不管正负,结果的绝对值是相等的,而Python却不一样。

基于上面的结果,有一个假设,Python取余运算所取的商数是不大于实际商的最大整数。即divmod(-45,7)==(math.floor(-45/7),-45%7)。

1

0

分享到:

2011-06-05 21:24

浏览 979

评论

python和c语言的对比_类C语言与Python负数除法求值间的差异相关推荐

  1. julia与python对比_有人说Julia比Python好,还给出了5个理由

    选自medium 作者:Emmett Boudreau 机器之心编译 参与:杜伟.张倩.肖清 本文作者从速度.通用性.多重派发.适用于 ML 的程度和包管理器 5 个方面阐述了 Julia 语言相较于 ...

  2. bin文件对比_网罗几种中Python配置文件方式,总有一款适合你

    网罗几种中Python配置文件方式,总有一款适合你 提起Python的的配置文件,估计你去问10个人,每个人给你的答案多多少少都不一样,原因就是轮子太多了,并没有一个足够好到让大家普遍都接收的,所以在 ...

  3. python做后端开发的优点_【后端开发】python语言的特点是什么

    python语言的特点是什么? python语言的特点 简单 Python是一门简单而文字简约的语言.阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语.Python的这种伪代码特性是其最 ...

  4. python语言属于什么_最近很火的Python是什么?属于什么语言?

    Python是一种脚本语言,可以直接运行后,消除编译和链接的麻烦.初学者来说需要更多的动手实践,减少错误的机会.和Python也有一个互动的方式.如果它是一个简单的小程序,甚至可以保存编辑器,它可以直 ...

  5. python能开发小程序吗_搭建小程序用Python语言可以搭建吗?

    原标题:搭建小程序用Python语言可以搭建吗? 正如我们在学习语言编程的过程中能发现各种逻辑规律的奥妙无穷那样,当我们能掌握一种语言编程方式之后,逐渐地也能深刻地感受到如今在小程序编写上还能有着怎样 ...

  6. python在房地产中的应用_“人生苦短,我学 Python”丨爆火的Python语言应用领域主要有哪些?...

    原标题:"人生苦短,我学 Python"丨爆火的Python语言应用领域主要有哪些? 「人生苦短,我学 Python」是众多和计算机科学有些接触的同学耳熟能详的段子,不过最近这一风 ...

  7. python 自动运维架构师_运维架构师-Python 自动化运维开发-031

    *运维架构师-Python 自动化运维开发-031 十九.Python3 操作数据库 1.Python3 操作 MySQL 1.基本介绍Python3 操作 MySQL 数据库 可以使用的模块是 py ...

  8. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  9. python能干啥是什么意思_这年头不懂点Python都不好意思说是码农 神奇的Python都能干啥...

    原标题:这年头不懂点Python都不好意思说是码农 神奇的Python都能干啥 如果你在周末.有WIFI的房间里不知道做什么,不如学下Python吧.有了它,你可以什么都不需要! 基础需求篇 温饱与空 ...

最新文章

  1. Linux挂载NTFS分区方法
  2. c#获取对象的唯一标识_C#如何获取机器唯一标识符
  3. HIVE 查询显示列名 及 行转列显示
  4. 一阶电路误差分析_读图学电路原理为什么交流调理电路会产生滞后,直流偏置又是什么...
  5. php sql文件太大导致无法上传,sql文件太大无法导入phpmyadmin
  6. c#quartz触发_SpringBoot集成Quartz实现定时任务
  7. LeetCode 2012. 数组美丽值求和
  8. 《数据结构与算法分析:C语言描述》复习——第六章“排序”——插入排序
  9. c语言函数有两个参数,C中子函数最多有几个形参
  10. 删除本地.svn文件
  11. css设置ios系统默认字体大小设置,iOS 自定义字体设置与系统自带的字体
  12. 信息技术专项习题汇总
  13. 计算机硬盘介绍,硬盘简介 - 硬盘使用知识大全(1)
  14. JavaScript实现随机抽奖功能
  15. Word | 关于删除分节符(下一页)前面的版式就乱了解决方案
  16. Sample larger than population or is negative
  17. axios 的简化写法
  18. 《古墓丽影10》PC版重磅更新:DX12画质惊艳!
  19. 微信小程序canvas绘制矩形
  20. 小白都能看懂的go语言包管理工具DEP详解

热门文章

  1. (建议收藏)matlab在线性代数问题中的计算机求解进阶问题及解决方案集锦
  2. 深度学习核心技术精讲100篇(三十)-ClickHouse在字节跳动广告业务中的应用
  3. Java 应用线上问题排查思路、常用工具小结
  4. 强化学习(十二) Dueling DQN
  5. pycharm开发python时出现控制台显示中文乱码
  6. 增大iphone音量技巧_就算我们把手机音量开到最大!外放声音还是小,那是这个设置没开...
  7. 亿级短视频社交美拍架构实践
  8. 研磨设计模式之 策略模式--转
  9. jquery学习手记(1)
  10. ios 中的基本算数函数