求模和求余

一直以为求模和求余是一回事,发现这两者是不同的。以下为网上转载的资料:

通常情况下取模运算(mod)和求余(rem)运算被混为一谈,因为在大多数的编程语言里,都用'%'符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。

对于整型数a,b来说,取模运算或者求余运算的方法都是:
1.求 整数商: c = a/b;
2.计算模或者数: r = a - c*b.
求模运算和求余运算在第一步不同: 取模运算在取c的值时,向0 方向舍入(fix()函数); 而求余运算在计算c的值时,向无穷小方向舍入(floor()函数)。

因此,当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。但是当符号不一致的时候,结果不一样。求模运算结果的符号和b一致,求余运算结果的符号和a一致。

在C语言中,%符号表示的是求余运算,在python脚本中,%表示的是取模。(通常取模运算中b不允许是负数,但是在python 2.5.1里可以在%后面跟负数,因为python语言中除法的结果是向0舍入,因此计算结果是取模!)

下面表格是一些典型的取模或者求余的值。

转载于:https://www.cnblogs.com/qiernonstop/p/3784004.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Dockefile将Python的py文件项目代码打包为Docker镜像

1.创建python项目 【备注:一定要将项目python环境依赖存至本项目下,默认依赖本机python环境(会造成依赖包过多)】 2.创建main.py文件,完成程序代码 主要功能就是获取"https://www.hao123.com/"网址页面源代码,并存储…

面试官:如何实现幂等性校验?

作者 | wangzaiplus来源 | https://www.jianshu.com/p/6189275403ed一、概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次比如:订单接口, 不能多次创建订单支付接口, 重复支付同一笔订单只能扣一次钱支付宝回调接口, 可能会多次回调, 必须处理…

阿里为什么禁用Executors创建线程池?

作者 | 何甜甜在吗来源 | http://rrd.me/eUh6V看阿里巴巴开发手册并发编程这块有一条:线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,通过源码分析禁用的原因。写在前面首先感谢大家在盖楼的间隙阅读本篇文章&#xff0…

Debian11镜像更新为阿里巴巴开源镜像站镜像,切换root用户,解决用户名不在sudoers文件中此事将被报告,Debian11 文件夹对话框、火狐浏览器、命令终端等没有最大化和最小化

选择Debian作为编程开发最佳Linux的理由: Debian是面向程序员的最古老,最出色的Linux发行版之一。Debian提供了具有.deb软件包管理兼容性的超稳定发行版。Debian为程序员提供了许多最新功能。因此,它具有一个特殊的编程空间。Debian是开发人员…

SCCM2012R2部署之四:配置客户端发现

前面3个章节我们简单的,介绍了安装配置和相关的组件。接下来我们需要给大家介绍的是如何配置客户端发现,让SCCM能真正管控到AD中的所有终端,来提供IT运维的效率。首先我们打开SCCM控制台,如图4-1,这就是我们安装完SCCM…

Debian11安装VLC Media Player视频播放器

在终端内执行下面命令: sudo apt install vlc

面试官:使用SpringBoot如何开发邮件发送系统?

作者 | yizhiwazi来源 | www.jianshu.com/p/5eb000544dd7SpringBoot 开发邮件发送系统还是比较方便的,在开始之前我们先来了解一下和发送邮件有关的基础知识。基础知识什么是SMTP?SMTP全称为Simple Mail Transfer Protocol(简单邮件传输协议&…

Python计算校验文件的MD5、SHA1、SHA256和CRC32

# -*- coding: utf-8 -*- import os from hashlib import md5, sha1, sha256 from zlib import crc32strFilePath os.path.join(os.getcwd() "\\" "“捷创源科技”公众号.jpg")def getMd5(strFilePath): # 计算md5mdfive md5()with open(strFilePath,…

拼多多面试|如何用 Redis 统计独立用户访问量?

作者 | 沙茶敏碎碎念来源 | www.cnblogs.com/xiaoMzjm/p/5223799.html众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer当然,拼多多加班…

被一个熟悉的面试题问懵了:StringBuilder 为什么线程不安全?

作者 | 千山qianshan 来源 | juejin.im/post/5d6228046fb9a06add4e37fe前言周五去面试又被面试的一个问题问哑巴了面试官:StringBuilder和StringBuffer的区别在哪? 我:StringBuilder不是线程安全的,StringBuffer是线程安全的 面试…

面试官:HTTPS 为什么是安全的?说一下他的底层实现原理?

作者 | leapmie来源 | urlify.cn/zQj6f2这篇干货不错,把HTTPS的原理讲清楚了,而且容易懂,建议大家好好读一下。# HTTPS随着 HTTPS 建站的成本下降,现在大部分的网站都已经开始用上 HTTPS 协议。大家都知道 HTTPS 比 HTTP 安全&…

PyQt5在对话框中打开外部链接的方法

利用PyQt5部分控件的Link属性链接 PyQt5有几个控件带有 setOpenExternalLinks , 如 QLabel、QTextLabel 、 QTextBrowser 等 当 setOpenExternalLinks 值为TURE 表示可通过html 添加 A 标签打开外部链接, 如设置: 我测试的是 QLabel 标签控件 self.lab…

面试官:为什么 Spring 中的 bean 默认为单例?

作者 | 小小木来源 | http://1t.click/ksQ熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton、prototype、request、session、global session。如下图是官方文档上的截图,感兴趣的朋友可以进去看看这五种分别有什么不同。今天要介绍的是这五种中的前两…

博主推荐【文件Hash校验工具V1.0 -免费版】

文件Hash校验工具有什么用途? ​Hash校验工具可以用来计算文件的MD5、SHA1、SHA256、CRC32值。简单来说,MD5值就是文件的身份ID,并且具有唯一性。通过比对MD5值,用户能够检查文件是否被篡改过,确保安全性。一般来说&a…

基于深度学习的瓷砖色差分类方法研究——学习笔记(评价:色差的定义太模糊。。。问题描述不清楚,太水了)

文章目录 摘要0 引言1 瓷砖图像处理1.1 图像采集1.2 图像处理 2 基于深度学习的瓷砖色差分类算法设计2.1 数据预处理2.2 卷积神经网络的设计2.3 实验设计 3 瓷砖色差分类平台的设计与实现 摘要 瓷砖是人类建筑不可或缺的一种材料,而瓷砖品质最重要的指标之一就是色…

面试官 | 讲一下如何给高并发系统做限流?

作者 | nick hao来源 | uee.me/cDuRD在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被…

Python利用multiprocessing实现多进程,Pyinstaller打包python多进程程序出现多个窗口

一、为什么需要采用multiprocessing多线程技术 自己在做文件Hash校验工具V1.0小工具软件时,需要读取文件,计算文件的MD5、SHA1、SHA256和CRC32这些Hash值,对于小文件能够很快计算出hash值,但是对于大文件需要花费一些时间,不知道进度如何?使用进度条指示也无法正确显示进…

面试官 | 说一下数据库如何分库分表?

作者 | butterfly100来源 | cnblogs.com/butterfly100/p/9034281.html一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索…

面试官 | JVM 为什么使用元空间替换了永久代?

7:40到11:40历时4个小时完成了该文,看到电脑中左边的便签了么,我也是拼了。在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试者,如果知晓这些变化&a…

Typora颠覆写作体验的极简好用 Markdown 编辑器基本设置教程

Typora是一款Markdown编辑器。 无论你是建网站写博客、每天写日记、自媒体写稿、办公、程序员写代码文档等等,Typora 都能满足你的要求。 Typora基本设置教程 1.“通用”项设置 打开“文件”下的“偏好设置”选项,在“通用”这项下,设置自…