标题数据存储的单位:
1、位(bit) : 比特 存一个二进制数据,值只有2个,0和1, 表示的单位 b
2、字节(Byte): 1B = 8b 是内存的存储单位
其他的进制转换: 1k = 1024B = 210B 1M = 1024K 1G = 1024M 1T = 1024G
内存:管理内存的时候最小单位是字节 内存很大,字节很多,如何管理?
想看某一个字节内部存的数据,怎么看?
每个字节都有编号 和 每个人都有身份证号一样 和身份证有长度一样,给字节编号的时候也是有一个固定长度的 身份编号是用10 进制 长度是18位 内存对字节编号用的是2 进制,
长度根据系统来定 32位系统长度是32:0000 0000(16进制) ----- FFFF FFFF(16进制) (一位就是24,共8位,即232)大小是 4GB
232B=4G
64位系统长度是64: 264B=234G
字节的编号叫做字节的地址 === 指针
数据储存
计算机只认内存,内存里的数据都是二进制数据
正负数的区分:以最高位(根据运算单位决定)位符号位,0代码正数,1代表负数
正数 原码 反码 补码相同
负数
原码:数据本身
反码:将数据转换成二进制数,然后对每个位 进行取反,符号位不变
补码:反码+1 计算机存的是补码
补码(负数)到十进制的快速算法:绝对值减128
例:
-
1000 0001 第一位为符号位,后七位为绝对值,表示-127
-
0000 0000则表示-128
以 1B 为例:
无符号,不带正负数取值范围:0 ~ 255
-1 在内存中如何存储
原码:1000 0001
反码:1111 1110
补码:1111 1111
有符号,带正负数取值范围:-128 ~ 127
内存中数据是: 1111 1111 实际是:-1
n位的范围是-2n-1~2n-1-1
127 + 1
内存中存储: 127: 0111 1111
1 :0000 0001
1000 0000
人为规定:-0
-2的n-1次方1B就是-128 2B就是-32768