目录
计算机数据的存储
数据的存储方式
机器以正负电子的排列等方式来记录二进制数据
排列?不同数量、不同排列顺序
存储在什么地方
硬盘、内存
怎样存储
因为目前计算机能够存储的数据只有两个字符:0/1
这些硬件对于0/1的保存记录主要是以哪种形式进行记录------单元格方式记录
-
每个单元格的单位是比特-bit
-
最小的字符单元是字节-byte 1byte=8bit
-
kb 1kb=1024byte
-
mb 1mb=1024kb
-
gb
-
tb
-
pb
数据存储的最终是二进制
计算机目前存储的数据种类很多:数字、字母、汉字、符号
一个字符:指的是人类所能够直接识别的一个单位,一个数字、一个字母、一个汉字、一个符号
01本质是数字所以计算机记录各种数据都是将其最终转为数字进行记录
进制之间的相互转换
整数的存储(字符集:UTF-8、Unicode、GB2312、BIG、GBK、ASCII......)
计算机起源于美国-宾夕法尼亚大学1946-冯·诺依曼
都有哪些进制
二进制:0,1,以0b开头
八进制:0,1,2,3,4,5,6,7 以0开头
十进制:0,1,2,3,4,5,6,7,8,9
十六进制:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 以0x开头
十进制转换
-
十进制转任意进制
给目标数字除以进制数,写余数,除到商为0,余数颠倒
例如:18转二进制=0b10010
-
任意进制转十进制
给数字进行从右至左进行编号(索引),每个位数乘以进制数的编号次方之和
例如:0b1010101=85
任意进制之间的转换
利用8421码
将每个二进制对应的位上计算一个固定的十进制数
1111
8421
-
二进制2位数组合
-
八进制3位数组合
-
十六进制4位数组合
例:
将0b1011101转成8进制==》
001 011 101 l//
1 3 5 =135
转成16进制
0101 1101
5 13 =5D
以十进制为桥梁
x进制>十进制>y进制
整数的存储
整数在计算机中存储是以补码的方式存储的,想要知道补码,必须先知道数字进制转换和原码和反码。
原码
将一个整数转换成二进制,然后最高位用来表示符号位(0表示正数,1表示负数,其余位表示数值位)
反码
正数的反码和原码一致,负数的反码位数全部取反,除最高位补码
补码
正数的补码和原码一致,负数的补码在反码的基础上末尾+1
十进制负整数转二进制算法
-
将十进制输出转化成二进制数,不管符号。
-
对转化的二进制数逐位取反
-
对取反后的二进制数加1,结果就是十进制负数转化成的二进制数
-122转成2进制
-
先把122转成二进制:计算机中存储的是64bit的大小字节=8byte
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0111 1010
-
对二进制逐位取反:
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0101
-
取反后加1:
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1000 0110
本文详细介绍了计算机数据的存储方式,包括存储在硬盘、内存等位置,以及如何以二进制单元格形式存储数据。还探讨了进制之间的转换,如十进制转任意进制、任意进制之间的转换,并讲解了整数的存储,特别是补码、原码和反码的概念。最后,文章阐述了十进制负整数转二进制的具体算法。

1334

被折叠的 条评论
为什么被折叠?



