Ⅰ python语言中,表达式int(-4.3)的值是
结果是-4
对正数是向下取整,对负数是向上取整。
学python的一个缺点就是对数据类型的基础理解比较少,
你可以用二进制来理解下,举一个有符号的二进制为例子:
对于无符号的0b000~0b111来说分别有
0b000=0;
0b001=1;
0b010=2;
0b011=3;
0b100=4;
0b101=5;
0b110=6;
0b111=7;
比如uint就是int的无符号形式。
当相同数据为有符号形式时变为:
0b000=0;
0b001=1;
0b010=2;
0b011=3;
0b100=-4;
0b101=-3;
0b110=-2;
0b111=-1;
(参考原码、反码、补码)
所以根据这个规则,对float,double等数字是同理,在floor时将有符号位进行省略,如以下位运算(>>):
0b000>>1=0b000
0b001>>1=0b000
有0->0和1->0
0b010>>1=0b001
0b011>>1=0b001
有2->1和3->1
按照这个丢失精度的方法计算负数呢?
0b111>>1=0b111
0b110>>1=0b111
0b101>>1=0b110
0b100>>1=0b110
可知:
-1->-1与-2->-1
-3->-2与-4->-2
所以对负数的floor会向上取整,因为丢失精度的方法是直接根据小数点截断的。
Ⅱ Python中lw=2是什么意思
Python中lw=2的意思是:
w//2 求模(求商)
比如1 + 20//3 即 1 + 6得到7
// 表示取整除 - 返回商的整数部分(向下取整)
Python 在今年已经成为世界上最受欢迎的语言,C 和 Java 分别位居第二和第三位。
Ⅲ python中四舍五入函数取整为什么要加减0.5
是利用原来的向下取整的机制如果原来是<0.5的,那加上0.5还是没进位。
实际上Python的round()函数可以接受两个参数round(value,ndigits),第一个参数为实际操作数,第二个参数为实际保留几位,如果第二个参数不填,则默认保留到整数位。
Python3.X对于浮点数默认的是提供17位数字的精度。
Ⅳ 基本的python内置函数int(x)的作用是
内置函数,在python帮助文档中:Build-in Functions
在Python提示符下,输入下面语句,就会显示Python提供的内置函数列表
>>>dir('__builtins__')
abs(_) 内置函数,绝对值或复数的模。
chr() 以单字节整数为参数,返回一个单字符的字符串,其内容是与之对于的ASCII字符。如chr(69)返回'E'。
cmp() 比较字符串,cmp('Xiao','Jian')返回1
coerce() (可以看成一个数值类型转换函数)有两个参数,都是数字,返回这两个数字的一个列表,将这两个数字的数据类型统一。如coerce(1,2j),返回(1+0j,2j)
complex() 内置函数,把……转换成复数,如complex('2')返回(2+0j),complex('2+3j')返回(2+3j)。
divmod() 内置函数,有两个参数,返回(商,余数)。如divmod(10,2.5),返回(4.0,0.0)。
filter(function,list) 把函数应用于list中的每一项,并返回 从函数中返回真值的项。注:function可以为None,此时删除list中的0或空项。
float() 内置函数,把……转换成浮点数。
floor() 在math模块内,需要import math。向下取整,即向x轴负方向取整。如math.floor(1.9)返回1,math.floor(-2.5)返回-3。
hash() 散列功能,词典键的最精确功能需求是它一定是可散列的。对象的散列值是半唯一的、内部生成的数字,它可用于快速比较。
int() 内置函数,把字符串或者小数转换为一个整数。直接去掉小数部分。如int(5.3)返回5,int('5')返回5。
len(x) 序列x的长度
long() 内置函数,把数字 或 代表整数的字符串 转换成长整型
map(function,list[,list,...])
max() 找出字符串中最大的字符。如:min('find the minimum character'),返回' ',即空格。
min() 找出字符串中最小的字符。如:max('find the maximum character'),返回'x'。
oct() 将十进制数转换成八进制,再变成字符。
ord() 参数是单个的ASCII字符,返回该ASCII字符对应的整数值,如ord('a')返回97。
pow() 内置函数,乘方。如果有第三个参数,则表示乘方的结果对第三参数取余,如pow(2,3)返回8,pow(2,3,4)返回0。
print 输出到窗口
range() 生成一个向量,例如range(m,n,d),从m到n,步长为d;range(m)则生成0:m-1,步长为1的向量。
raw_input() 输入函数,参数为字符串,作为输入时的提示语句。返回值为字符串。
rece(func)
round() 内置函数,对数字进行四舍五入,第二个参数表示精确到小数点后指定的位数,默认值为0。如round(2.4)返回2,round(1.398,2)返回1.40。
type() 返回某数据的类型
Ⅳ Python笔记-取模运算%
对于该算术运算符: % ,取模运算存在如下定理:
对于一个正整数 而言,一定存在等式 ,代表 可以被拆分成最多 个 并且余下一个 ,此时称 。
例如:正整数 17,存在等式 17 = 3 * 5 + 2,即 17 % 5 = 2.
这里介绍一下数学中的一种运算, 取余运算 。
两者在对正整数的运算中完全没有区别,但是对于负整数的运算,则会存在一定的区别。
但是要记住下面这句话,就可以很好的进行区分:
取余公式中的k要向0靠拢,也就是如果大于等于0,那就要向下取整;如果小于0,那就要向上取整。
取模公式中的k要向负无穷靠拢,不管什么情况,都是向下取整。
或者是
向上取整 math.ceil() 可以理解成 要选择大于等于该数值的整数部分的最小整数;
向下取整 math.floor() 可以理解成 要选择小于等于该数值的整数部分的最大整数。
也就是:
下面做些实际运算,加深一下印象:
Ⅵ Python几种取整的方法
向下取整
int(3.75)
四舍五入
round(3.75)
向上取整
math.ceil(3.75)
分离整数和小数
math.modf(3.75)