前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据存储

Python数据存储

作者头像
星哥玩云
发布2022-09-08 11:54:29
3.1K0
发布2022-09-08 11:54:29
举报
文章被收录于专栏:开源部署

一、对于数据存储的思考

  • 为什么使用计算机? 为了存储、处理数据
  • 数据存在哪里? 数据存储在内存中
  • 内存是怎么存储数据的? 首先要弄清楚怎么存储数字

二、内存

  • 概念 内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行
  • 抽象 一个开关,有两种状态,开启和关闭,一种对应1,另一种对应0。把八个开关放到一间房子里,可以称这间房子为“一个字节”,一个开关代表“一位”。每个房间都有门牌号,看做“地址”。把无数个房间叠起来组成摩天大厦,可以把摩天大厦看成内存
  • 单位
  • 说明 内存中以二进制形式存储数据

三、进制

  • 十进制 特性:逢十进一 数字:0 1 2 3 4 5 6 7 8 9 计算:1 + 9 = 10
  • 二进制 特性:逢二进一 数字:0 1 计算:1 + 1 = 10
  • 八进制 特性:逢八进一 数字:0 1 2 3 4 5 6 7 计算:1 + 7 = 10
  • 十六进制 特性:逢十六进一 数字:0 1 2 3 4 5 6 7 8 9 a b c d e f 计算:1 + f = 10

四、进制转换

  • 十进制转二进制 公式:倒除法,余数逆序 转换:10(10) --> 1010 (2)
  • 二进制转十进制 公式:计算每一位的2的位数次方,再相加 转换:1010(2) --> 0 x 2^0 + 1 x 2^1 + 0 x 2^2 + 1 x 2^3 = 0+2+0+8 = 10(10)
  • 二进制转八进制 公式:【三位一取】从低位开始,每三位得到一个八进制数字,最后高位不足则补0 转换:010110011(2) --> 263 (8)
  • 二进制转十六进制 公式:【四位一取】从低位开始,每四位得到一个十六进制数字,最后高位不足则补0 转换:100101100(2) --> 12C (16)
  • 八进制转二进制 公式:【一转3位】八进制的一位相当于二进制的3三位,计算时按照十进制数字转换 转换:263(8) --> 010110011(2) (2)
  • 十六进制转二进制 公式:【一转4位】十六进制的一位相当于二进制的4位,计算时按照十进制数字转换 转换:12C(16) --> 100101100 (2)

五、存储数据

  • 数据存储过程 a、计算机存储数据,先开辟空间,再存储数据,计算机开辟内存空间最小单位是字节 b、在存储数据时,用最高位表示符号位,用0表示正数1表示负数,其他的表示数据
  • 原码 概念:规定了字节数,写明了符号位,得到数据的原码 示例: ​ 数字正1的原码: 0000 0000 0000 0000 0000 0000 0000 0001 ​ 数字负1的原码: 1000 0000 0000 0000 0000 0000 0000 0001 思考:计算机是如何用二进制存储数据的,是不是用的原码的形式? 验证:

结论:计算机不以原码的形式存储数据

  • 反码 概念:正数的反码就是其原码,负数的反码是其符号位不动,其他为取反 示例: ​ 数字正1的反码: 0000 0000 0000 0000 0000 0000 0000 0001 ​ 数字负1的反码: 1111 1111 1111 1111 1111 1111 1111 1110 思考:计算机是如何用二进制存储数据的,是不是用的反码的形式?

结论:计算机不以反码的形式存储数据

  • 补码 概念:正数的补码是其反码,正数三码合一,负数的补码是其反码加1 示例: ​ 数字正1的补码: 0000 0000 0000 0000 0000 0000 0000 0001 ​ 数字负1的补码: 1111 1111 1111 1111 1111 1111 1111 1111 思考:计算机是如何用二进制存储数据的,是不是用的补码的形式? 验证:

说明:高位溢出 结论:计算机以补码的形式存储数据

  • 知道补码求取真实数据 原理:看成原码,求其补码,得到的补码就是数据的原码 a、内存数据:1111 1111 1111 1111 1111 1111 1111 1101 b、看成原码:1111 1111 1111 1111 1111 1111 1111 1101 c、求其反码:1000 0000 0000 0000 0000 0000 0000 0010 d、求其补码:1000 0000 0000 0000 0000 0000 0000 0011 e、数据原码:1000 0000 0000 0000 0000 0000 0000 0011 f、真实数据:-3
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、对于数据存储的思考
  • 二、内存
  • 三、进制
  • 四、进制转换
  • 五、存储数据
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档