Python学习日记 Day5-原码、反码、补码、取整函数、天堂地狱

一、原码、反码、补码

概念

        原码是计算机机器数中最简单的一种形式,数值位就是真值的绝对值,符号位为“0”时表示正数,符号位为“1”时表示负数,原码又称带符号的绝对值。

        反码和补码的由来参见如下链接

     原码 反码 补码 概念 原理 详解 [MD] - 白乾涛 - 博客园 (cnblogs.com)

计算方法

          一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。

        正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反。

        正数的补码与原码相同,负数的补码为反码的最低位加1(有进项则相应进项)。

Note

        1. 计算机以(-1)^{s}×X中s的数值来判断X的正负,故符号位0正1负。

        2.-128并没有原码和反码表示

        3.七位二进制求原码、反码、补码,先添加符号位补成八位再进行操作。

e.g -0000011 原码:10000011 反码:11111100 补码:11111101

二、取整

        1.int()、//、floor()都是向下取整,即地板除。

e.g 5//2==2 int(5/2)==2

        2.\可将结果转化为浮点数。

e.g 5/2==2.5 

        3.round()四舍五入取整。

e.g round(5/2)==3

        4.ceil()向上取整。

        5.z为复数,用z.real和z.imag取实部虚部时会变成浮点数。

e.g z=1+2j z.real==1.0

        6.abs()用于复数z=a+bj时,结果为\sqrt{a^{2}+b^{2}}

三、一个面试题

Q:两扇门分别通往天堂、地狱,两扇门前都分别站着一个门卫,其中一个只会说谎,另一个绝不说谎,你只能问其中一名门卫一个问题,要先去天堂,这个问题该怎样问呢?

A:只需要让门卫A去问门卫B“通往天堂的门是哪一扇”,如果A说假话,那么A就会将B说的真话反着说;如果A说真话,那么A就会将B说的假话原原本本复述。因此只需要反向选择A回答的那扇门即可。

四、带小数的进制转化

3.R进制数 → 十进制数

4.十进制小数→R进制小数

乘R取整顺序法:乘基数取整,连续乘以基数,并取其整数,直到积为零或达到所要求的精度时,将所得整数正序排列即可。

参考资料

1.带小数点的进制转换_百度知道 (baidu.com)

2.

​​​​​​(17条消息) 为什么计算机中数字符号位0表示正数,1表示负数_码飞_CC的博客-CSDN博客_符号位0是正还是负https://blog.csdn.net/cc18868876837/article/details/88371491

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值