python语言中,表达式int(-4.3)的值是?

 我来答
515621078
2022-06-01 · TA获得超过167个赞
知道小有建树答主
回答量:271
采纳率:86%
帮助的人:83.1万
展开全部

结果是 -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 会向上取整,因为丢失精度的方法是直接根据小数点截断的。

shine1991
科技发烧友

2022-06-01 · 智能家居/数码/手机/智能家电产品都懂点
知道顶级答主
回答量:4.7万
采纳率:82%
帮助的人:2.3亿
展开全部

python中的int函数采用和C语言一样的取整模式,小数直接截断,或者说是向零取整

不管正负数,都只保留整数部分

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式