数据存储的问题(1)
数据存储在哪里?
答:数据存储在存储器中
那么什么是存储器?
好嘛,我也不解释不清楚。但是我知道用什么能存储数据
- 纸张(想象一下打孔纸带,以前的指令和数据都码在上面)
- 内存(现在存储介质为晶体管(早期还有其他手段《水银延迟线存储器》))
- 寄存器(存储介质为晶体管)
- 硬盘
- 缓存部件
存储器容量的问题?(这里指内存、寄存器)
能存储下多少的数据,这个就需要量化了。例如你从A跑到B点。你告诉别人我跑了那么长,那么长?懵逼
存储器是由晶体管组成,一个晶体管表示2种状态,那么一组晶体管就可以表示多种状态。
那么能存储2种状态的一个晶体管,称为bit。类似的还有B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
然后由大佬来制定存储单位的换算关系。不好理解?(10毫米=1厘米,100厘米=1米,这些都是人规定的,当大家都认可的时候这就是标准啦)
存储器的存储单位划分比较大方,最小单位是字节Byte,然后对每一个存储单元编号
每一个小格子就是一个bit
根据大佬定义,1 Byte(B) = 8 bit,希望大家能理解
了解了数据的存储和存储器的计量单位后还需要考虑下面三点
- 数据怎样去编码?
- 数据在存储器的排列格式
- 数据范围
先来解决数据的存储器的排列格式
0x12345678 如何排列在存储器中?
注:一个16进制数等于4个bit。二个16进制等于8个bit1个字节
下面以最小单位字节举例
0x12345678 是第一个存储单元放0x12 还是存放0x78,这是一个规定问题,不是这样就是那样,反正别人规定了你理解后并且记忆就行,这个问题本身就存在,你解决不了就理解他记忆他。
如果不好理解我在继续给你举例:
- 方向盘在左还是右?当设计汽车的时候,这个问题不是左就右。谁好谁坏有区别?
- 左撇子和右撇子在吃饭这个问题上,用左手拿筷子还是右手筷子有区别?
数据在存储器中排序时也有这样的问题
被认知的有两个(当然你可以设计出不友好的排列,思想一定不要被限制):big endian(大端模式)、little endian(小端模式)
现在来说说对数据的编码
存储:数字10
- 对数字10进行XXX编码
- 不存在排列的问题,1字节可表达256种状态,10<256
- 存储器最小存储单位是字节,所以数字10占用1个字节
存储:字符a
- 计算机能存储的是二种状态(电信号、0或1、高低电平),不管怎么理解,都是二种状态,采用多个晶体管组合用来表达更大范围状态。所以这里的问题是,字符a不能直接存储,需要对字符进行编码。存储编码后的值。(例如你看见红灯知道要停下来了,看见绿灯可以行走了,这里就是对走和停的编码。)
- 同上
- 同上
存储:300.232323
- 编码
- 300肯定不用用1个字节存储,原因就是1字节只能表达256,300>256。那么需要2个存储单元(2个字节)那么存在排列的问题了。到底是 30 00 还是 00 30? 这个就是大小端的问题了。 如果是小端模式,数字的地位在 低地址,高位数据在高地址,假设存储地址从低高到排列那么应该是 00 30。大端相反
3.占用2个字节
大家认知的编码
整数:补码
小数:float遵从的是IEEE R32.24 ,而double 遵从的是R64.53。
字符:
字母:ASCII
汉字:GBK、GBK2312
术语:
乱码:利用你对整数使用了补码进行编码,在解码的时候采用了ASCII,这个现象就是乱码啦
你使用GBK对汉字编码,而缺采用UNICODE解码
转载于:https://www.cnblogs.com/binaryAnt/p/11069801.html
数据存储的问题(1)相关推荐
- 英特尔 QLC 3D NAND 数据存储
英特尔 QLC 3D NAND 数据存储 NAND是什么 由于SSD固态硬盘的普及,NAND这个词逐渐进入用户们的视线.许多厂商都在产品宣传中提到3D NAND颗粒等词汇,对于普通用户来讲,完全不知道 ...
- Android的数据存储方式
1.Shared Preferences 2.文件存储数据 3.数据库 4.Content Provider存储数据,是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用程序之间实现数 ...
- mysql更改数据库数据存储目录_MySQL更改数据库数据存储目录
MySQL数据库默认的数据库文件位于/var/lib/mysql下,有时候由于存储规划等原因,需要更改MySQL数据库的数据存储目录.下文总结整理了实践过程的操作步骤. 1:确认MySQL数据库存储目 ...
- AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject
Flash影片运行过程中,大多数的数据都存储于影片本身,一旦影片被关闭,这些数据也就从内存中被清除掉,下次运行时,数据将从头开始.若想存储数据或者让客户端的多个影片共享同一组数据,就要想办法把数据存储 ...
- Java中数据存储方式
2019独角兽企业重金招聘Python工程师标准>>> 1. 寄存器(register).这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限, ...
- IOS数据存储之文件沙盒存储
前言: 之前学习了数据存储的NSUserDefaults,归档和解档,对于项目开发中如果要存储一些文件,比如图片,音频,视频等文件的时候就需要用到文件存储了.文件沙盒存储主要存储非机密数据,大的数据. ...
- 华为云大数据存储的冗余方式是三副本_大数据入门:HDFS数据副本存放策略
大数据处理当中,数据储存始终是一个重要的环节,从现阶段的市场现状来说,以Hadoop为首的大数据技术框架,仍然占据主流地位,而Hadoop的HDFS,在数据存储方面,仍然得到重用.今天的大数据入门分享 ...
- BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
一.引言 时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势: 越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库, ...
- Android数据存储(三)——SQLite
如果需要一个更加健壮的数据存储机制,则需要使用一个关系型数据库,在Android上,则为SQLlite. SQLite的特点:轻量级.嵌入式的.关系型数据库.可移植性好,易使用,小,高效且可靠,与使用 ...
- 希捷发布CORTX对象存储软件与开源社区,普惠超大规模数据存储
数据存储和管理解决方案提供商希捷科技今日(10月29日)举行了"Let's Rethink Data"希捷科技Datasphere线上峰会.在本次峰会,希捷科技携手行业专家与生态合 ...
最新文章
- 《算法导论》读书笔记--第三章 函数的增长
- 特性开关框架 java_关于Mosfet你应当知道的开关特性
- iOS给图片打水印,并将打过水印的图片生成到沙盒中
- linux十大证书,验证Linux上的X.509证书
- 《作业指导书》的发布管理问题与解决办法
- Linux共享文件夹的建立和使用
- mysql emoji表情_mysql utf8mb4与emoji表情
- 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第五章
- u盘写保护+计算机管理,取消u盘写保护的操作方法-电脑自学网
- 前台应用保活-适配华为
- Kylin启动报错 ERROR: Check hive‘s usability failed, please check the status of your cluster
- android开发教程!看懂这些帮你轻松解决就业问题!知乎上转疯了!
- 浏览器与Node.js中的JavaScript运行环境
- 详解硬件设计中电容电感磁珠
- 盗取手机验证码诈骗的克星来了:号码认证服务为你保驾护航
- python -u xxx.py
- 一、剪辑行业概述与剪辑工具介绍
- phonegap-百度社会化分享-andriod插件-v2.0
- [云原生专题-29]:K8S - 核心概念 - 名字空间/命名空间概念详解与主要操作案例
- 【Linux-Windows】千兆网口以及千兆网线
热门文章
- java处理获取到的Elasticsearch数据
- Python筛选法(算出十亿之内所有的质数之和)
- python模块之codecs: 自然语言编码转换
- thread and process
- ES6——Promise 对象
- Error:Elements in iteration expect to have ‘v-bind:key‘ directives
- 零基础带你学习MySQL—Select语句以及注意事项(十)
- properties 配置回车_PTB220/330 | 长春气象仪器所自动站配置
- 利息高的贷款通过率会高一些吗?
- 40万预算X3 glc q5买哪个好?