Py小郑 2021-12-22 13:40 采纳率: 96.6%
浏览 26
已结题

Python有关函数输入获取

我不理解format(n,02b)n不是要求十进制的数字吗 然后这里题目给出的n我有两个疑惑 第一:题定义了n的类型是int 而实际上前面有很多个0 那为什么我在print的时候不会报错?第二:print起到去0的作用而不是转化成二进制?

img

img

  • 写回答

1条回答 默认 最新

  • 於黾 2021-12-22 14:01
    关注

    你能问出这种问题来,说明你根本不理解到底什么是int,什么是str,需要恶补计算机硬件基础知识。
    一个数据,它存储在硬盘里也好,存储在内存里也好,都只能是二进制方式存储的,因为计算机里只有1和0.
    不同的数据类型只是编码格式有区别,数据在本质上都是二进制。
    那么一个int,它里面放的到底是10进制,还是8进制,还是2进制,还是16进制呢?其实就是二进制,没有别的进制。
    你写代码的时候写个8+10,编译器会把这个字符串按照10进制的方式转换成2进制,再进行计算。
    -=-=-=
    重点来了:所谓16进制、10进制、8进制,都是给人看的,计算机只认识2进制
    只有在数字转str、str转数字的过程中,才涉及到进制转换的问题,计算机内部根本不需要转换。
    -=-=-
    最后,前面补0也同样是为了给人看的,是int转str的时候才会有的事情,计算机内部存储的时候是4字节是8字节都已经确定好了,不存在补0不补0的问题。
    print打印的时候默认不打印前置的0而已,当然你也可以写格式化字符串要求前面补0.
    -=-=-=
    另,人眼能够看到的只有字符串,纯数字只存在于内存中,人是看不见的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行