基础存储概念简述:
● 计算机内存最小单位是bit,1bit只能存取一个二进制的数据(0/1)。
● 8个bit组成一个字节(byte)。(1bit只能存储一个二进制数值,要么是0要么是1)
● 计算机内存是以字节为基本单元进行存储数据和读取数据的。
● 计算机为每个字节准备了一个唯一的编号。——>(图例紫色部分)
● 计算机把一部分内存(橙色部分)保留了,让操作系统使用此区域内存,所有其它程序不允许使用。
如果程序有问题不小心侵入这块内存,操作系统可能会崩溃
详细讲解变量存储案例
案例前提:橙色部分代表系统只能用(不可使用)。黄色部分代表已被占用。红色方框正好一字节(8bit)。
(1)byte类型变量存储
无符号的8位整数(能够指示0-255)(无符号8位整数)
byte b; b = 100; 过程:①变量类型为byte,需要一个字节内存。 ②赋值,将100转成二进制,找到空闲内存地址,然后写入。
此案例 100 十进制转化为二进制为:1100100(七位)→ 不足8位怎么办?高位用0补齐。
实际存储:
(2)sbyte类型变量存储
有符号的8位整数。(能够指示-128-127,其中1位表正负才不是0-255)
sbyte b; b = 100;
此案例 100 十进制转化为二进制为:1100100(七位)
最高位表示正负(绿色):0表示正数,1表示负数
●计算机存储负数不是像十进制一样直接把符号改掉,而是遵循这样一个原则:按位取反,再加一。
①先以正100的二进制表示:01100100(八位)
②按位取反后:10011011
③从后方+1操作,直到停止(0)后:
(3)ushort类型变量存储
无符号16位短整型(能够指示0 - 65535)(分配好16bit的内存)
ushort b; b = 1000;
此案例 1000 十进制转化为二进制为:1111101000(十位)
因为此处为16位(bit),需要明白用0补齐后:0000001111101000
前8位需要存在比后8位高的位置。
(4)short类型变量存储
有符号16位短整型(能够指示-32768 - 32768)(分配好16bit的内存)
short b; b = 1000;
此案例 1000 十进制转化为二进制为:1111101000(十位)
因为此处为16位(bit),需要明白用0补齐后:0000001111101000
前8位需要存在比后8位高的位置。
当 需要存储 -1000 时这么弄?
①按位取反后:
②+1 操作后::