八位数字变一个字节压缩存储
‘壹’ 如果储存地址空间是16MB,字长为8位,那么存取一个字需要多少位
8位为一个字节,即字长为1个字节,地址空间16MB=2^24B=2^24字节,字节除以字节,得到字,取log2字,得到24位。而且这里应该算的是存储空间,所以上述过程即求存储空间,也就是地址空间的过程,也就是寻址
‘贰’ 怎么往一个字节里存放8个数字啊,一个字节占8位,比如说定义一个char c,我要往这个c里存放8位数字
8位只是0,1...你只能存八个0,1两个数字
二进制转十进制,然后给c赋值
‘叁’ 为什么8位二进制数字构成一个字节.
计算机硬件设计按 1字节为8字符 规定 执行。每个字符 正好 可用 1位 2 进制 描述 (例如,有电和没电,亮和不亮,通和不通)。
计算机存储单元个数,以字节为单位 计量。
很自然,一个字节 描述 一个 8位二进制数。一个 8位二进制数 构成 一个字节.
字节: byte。 字符: bit。 1 byte = 8 bits。
‘肆’ 如何用C#实现数字字符串串转换为字节BCD压缩码
string hex = "1234";
int temp = Convert.ToInt32(hex, 16);
Console.WriteLine((temp >> 8).ToString("x"));//高8位
Console.WriteLine(((byte)temp).ToString("x"));//低8位
‘伍’ 一个字节可以存储多大的数字
一个字节有8位,每一位两种状态1或者0
计算机储存数据是以二进制的方式,有一位为符号位,所以最大数为01111111转化为十进制数为127。
若无符号,最大数为11111111转化为十进制为255。
二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于1679年发明。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
(5)八位数字变一个字节压缩存储扩展阅读:
与十进制
1,二进制转十进制
方法:“按权展开求和”。
2,十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)
3,十进制负数转二进制:“先取正数的二进制值,再取反,加1”。
与八进制
二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每3位为一组用一位八进制数的数字表示,不足3位的要用“0”补足3位,就得到一个八进制数。
八进制数转换成二进制数:把每一个八进制数转换成3位的二进制数,就得到一个二进制数。
与十六进制
二进制数转换成十六进制数:二进制数转换成十六进制数时,只要从小数点位置开始,向左或向右每四位二进制划分一组(不足四位数可补0),然后写出每一组二进制数所对应的十六进制数码即可。
十六进制数转换成二进制数:把每一个十六进制数转换成4位的二进制数,就得到一个二进制数。
参考资料来源:网络-二进制
‘陆’ 一个字节是8位,那一个字节能存储多少个数字呢
一个字节8个位,每个位就只有 0 跟 1 两种情况,8个位能表示 2的8次方 种数,即 256种,范围0-255(带负值的话范围在:-128~127);
0-255 只是一个数,当然 LZ 也可以认为 它是 三个数(百位、十位、个位)。
555 超出了 255 的范围,8个位已经满足不了 555 的存储要求了,一般采用16个位记录
‘柒’ 什么是压缩BCD码
压缩BCD码指二进制编码的十进制
压缩BCD码指一个字节8位存储2位BCD码。比如32用8421BCD码表示如下:非压缩BCD码表示:00000011 00000010;压缩BCD码表示:0011 0010;使用BCD码表示10进位制数字比较好理解,且占用空间较小,在用数字表示的数据方面得到广泛应用。如果听到“原长度10个字节,用压缩BCD码表示为5个字节”也就好理解了。比如“1234567890",即可以说用压缩BCD码表示为5个字节。
(7)八位数字变一个字节压缩存储扩展阅读:
压缩BCD码的应用:BCD计数器也称为十进位计数器或模10计数器,它广泛地运用于各种电子设备中。特别是在测试仪表以及另外那些具有十进制输入与/或输出的设备中.运用得更普遍。数字计数器.万用表以及其它数字仪表,就是一类例子;数字电子表是另外一类例子。这与一个标准四位二进制计数器的前十个状态相同。不过,当计数器计9时,它循环回到0,然后它又重新开始递增计数。
‘捌’ “大学计算机基础”这一串汉子所占的存储空间是多少位
一般来说按照国标码存储的话,7个汉字会占用14字节,也就是112位。
在计算中,底层都是晶体管的开关和关闭状态,我们把一个表示开关状态的称之为位,把八位称之为一个字节,也就是一个字节可以表示(00000000-11111111),也就是0到255。
因为字符实际上还不到128个,按道理7位就够了,一个说法是程序员也比较迷信,认为7是个不吉利的数字,另一种说法,8刚好是2^3的方,更容易计算机去理解。
(8)八位数字变一个字节压缩存储扩展阅读
原先一个英文字符需要1个字节,一个中文需要两个字节,现在需要4个字节,相当于存储变大了。这给网络传输、系统存储都带来了一定的成本。这个时候,人们觉得压缩一下,于是提出了UTF8,UTF16这样的表示方法,UTF8我们最经常使用,对于一个汉字。
例如上述学习的学字在Unicode编码中表示为00000000 00000000 01011011 01100110。很明显,前面字节都是0,非常的浪费,最好是能够把它压缩起来,又能让别人知道它原来对应的就是四个字节,UTF8就是为了解决这个问题,对于原来是双字符的中文,会变成3个字节,第一个字节以1110开头,后面两个以10开头。剩下的16位分摊到这3个字节当中。
‘玖’ 是否能将十六位数字的字符串信息存储到一个字节的内存中
‘8765837362873809’看成数值
即十六进制的 '0x1f247b8e2c45d1'
二进制''
最少也要53bit,或者7个字节(56bit)。
计算机通常以字节为单位存储,也可以存8个53bit数,共占53个字节。
查表属于散列,会有信息丢失,就不是严格意义上的‘保存’了
比如设0等于8765837362873809
需要这个数的时候就写0.
单独保存需至少7个字节。