字、半字、字节理解

字、半字、字节理解



前言

计算机里所说的字(word)、半字(Half-word)、字节(Byte)跟我我们平时所说"字"的概念是不一样的,而且针对不同平台,其大小长度也不一样。


一、根据处理器数据位宽区分

●字长:字长也叫 字(word),CPU和内存之间的数据传送单位,字长决定了处理器一次可以处理的二进制代码的长度,同时决定了其通用寄存器、内存储器、运算器的位数和数据总线宽度,我们所说的 8位处理器、16位处理器、32位处理器、64位处理器就是区分的其字长不同。
●字(word):总线是一般设计用来传输固定大小的数据,这块数据被称为字,其大小取决去具体系统的总线宽度
●半字(Half-Word):可以理解字的一半的长度,但是有例外,比如ARM的16位处理器的字和半字都是16位
●字节(Byte):这个好理解,无论操作系统的位宽 8位(bit)为一个字节(1Byte)

二、根据处理器平台区分

字的长度不仅跟处理器字长相关而且和平台相关:
Intel平台:字(word) 表示16位数据类型,双字(double word) 表示32位数据类型,四字(quad word) 表示64位数据类型。因为Intel公司中无论是32位架构的机器还是64位架构的机器,它们都是从16位架构的基础上扩展的。

Intel处理器平台64位处理器32位处理器16位处理器
字(word)16位16bit16bit
半字(Half-Word)8bit8bit8bit
字节(Byte)8bit8bit8bit
双字(double word)32bit32bit32bit

ARM平台:字(word)的长度为32位(bite),4个字节(byte)在8位/16位处理器体系结构中,字的长度一般为16位(bite),2个字节,

arm处理器平台32位处理器8/16位处理器
字 (word)32bit16bit
半字 (Half-Word)16bit16bit
字节(Byte)8bit8bit
双字(double word)64bit32bit
注意:一个ASCII字母占用 1 byte,一个汉字占用 2 byte

总结

所以如果单纯问一个字占多少字节或是多少位是没有意义的。
如有错误,欢迎指正,原创不易,转载留名!

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值