十进制的数串【计算机组成原理】
答案:1 悬赏:20 手机版
解决时间 2021-05-17 17:48
- 提问者网友:聂風
- 2021-05-17 04:05
如何理解“非压缩的十进制数串主要用于非数值处理”这句话?
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-05-17 05:19
就是纯数字字符组成的10进制数字符串,一般用来做字符串处理,比如输出之类的
比如char* a = "12345";
这就是一个10进制字符串,如果用10进制数串数值处理的话讲,就是一个非压缩(一个字节对应一个数位)的10进制串,这种串用来计算每个数位要多占1倍的空间
比如字符'1',ascii码是0x31,表示成二进制=00110001B前面4字节其实没有用到,所以属于浪费,而4位二进制数能表示的数值范围为0~15 > 10,所以其实用4位一元组表示一个数位就足够了,那么1个字节就可以存2个数位,比如1234可以表示为0001001000110100B=1234H,也就是所谓的BCD编码,这种编码无需在数字字符和数字之间作转换,而且占用空间小,所以便于用于处理数值运算,而且一些机器的在硬件层就对这种类型的十进制串提供了运算支持。所以“非压缩的十进制数串主要用于非数值处理”是相对压缩的BCD编码来说的,相比之下压缩的十进制数串就要更适合作为数值来进行处理了。
比如char* a = "12345";
这就是一个10进制字符串,如果用10进制数串数值处理的话讲,就是一个非压缩(一个字节对应一个数位)的10进制串,这种串用来计算每个数位要多占1倍的空间
比如字符'1',ascii码是0x31,表示成二进制=00110001B前面4字节其实没有用到,所以属于浪费,而4位二进制数能表示的数值范围为0~15 > 10,所以其实用4位一元组表示一个数位就足够了,那么1个字节就可以存2个数位,比如1234可以表示为0001001000110100B=1234H,也就是所谓的BCD编码,这种编码无需在数字字符和数字之间作转换,而且占用空间小,所以便于用于处理数值运算,而且一些机器的在硬件层就对这种类型的十进制串提供了运算支持。所以“非压缩的十进制数串主要用于非数值处理”是相对压缩的BCD编码来说的,相比之下压缩的十进制数串就要更适合作为数值来进行处理了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯