当前位置:首页 > 单片机 > 单片机
[导读] 定义-字、半字是根据处理器的特性决定的;字节则都是8bit。-sizeof()返回一个数据类型的占用地址长度,增强程序在不同处理器间的兼容性;CPU按照其处理信息的字长可以分为:八位微处理器、十六位微处理

定义-半字是根据处理器的特性决定的;字节则都是8bit。-sizeof()返回一个数据类型的占用地址长度,增强程序在不同处理器间的兼容性;

CPU按照其处理信息的字长可以分为:八位微处理器、十六位微处理器、三十二位微处理器以及六十四位微处理器等。

CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位的CPU最大能搭配4G内存的原因 ,再多的话CPU就找不到了。


几个处理器比较

1)stm32是32bit处理器,所以它的字是32bit的(一次处理4字节长度的数据)。半字自然就是16bit(2字节);字节是8bit


stm32和传统的arm相比最大的好处就是不需要对齐,三种类型的数据可以在内存中无缝的存放。而传统的arm7或arm9等是照着地址对齐的,就是说不管8bit或者16bit的数据都要占用4个字节的空间,这样的结果就是造成内存的浪费。


寄存器的访问

半字型的寄存器用u16类型的变量访问,u8只能访问低8位,u32读的时候没问题,写的时候会因编译器的不同而出现偏差。12

2)在MSP430上,由于它是16bit处理器,所以它的字是16bit的。半字=字节=8bit。

…….

sizeof()

看两个例子:
(1) int应该是2还是4?

VC++默认int是longint,长度是4
TC默认int是shortint,长度是2123

int类型所占的字节数依赖于机器的字长, 有16位, 32位, 64位.我们现在买电脑时所说的32位机, 64位机就是指这个, 在16位机上int长度是2, 在32位机上长度是4, 所以在编码的时候需要写int长度时, 我们不能想当然的写2或4, 而应使用sizeof来计算, sizeof(int)这样就不会错了, 而且提高了程序的兼容性。

(2) A机器int占用2个字节,B机器占用4字节,申请内存存放一个int数据。

如写入:

int*i=(int*)malloc(2);12

那么在A机器中能正常运行,在B上则会报错
应写成:

int*i=(int*)malloc(sizeof());12

这样A、B机器中都能兼容。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最新消息,近日字节跳动 CEO梁汝波在2024年年度全员会上表示,2019-2021年,字节跳动快速扩张,员工数量从1万多增加到10万多人,不少人反馈现在字节该有的大公司病全有了。同时强调该公司今年的关键词为“始终创业,...

关键字: CEO 梁汝波 字节

业内消息,近日有消息称字节跳动调整了薪酬结构,将原来年终奖月数大于3的薪酬方案统一调整为3个月,也就是说年薪总包不变,月薪上升幅度约20%。官方在通知邮件中表示,此举主要是为提升管理效率。

关键字: 字节 期权 激励

最新消息,针对「字节跳动旗下游戏部门朝夕光年正与腾讯谈判出售多款游戏」一事,昨天晚间朝夕光年相关负责人回应称,相关团队还在与多个买家商谈项目出售事宜,至今尚未敲定任何与腾讯的交易。

关键字: 朝夕光年 腾讯 游戏 字节

初学C语言的时候,有一个小编程题我们应该都记得,就是变量互换。

关键字: 变量互换 sizeof C 语言

我给大家出一道有意思的题目:如何快速得到一个字节的位逆序字节。比如0X33的位逆序字节是0XCC。

关键字: 字节 C 语言 volatile

面试字节,中间问了好多业务相关的问题,后面越来越不对劲,问了更多工作细节,面试官一直记笔记,面了一个多小时,最后却挂了。楼主认为,这是利用别人求职白嫖别人信息,奉劝大家谨慎投字节,面试时留个心眼,不要透露太多业务核心内容...

关键字: 字节 笔记 信息

元宇宙,利用科技手段进行链接与创造,构建现实世界映射与交互的虚拟世界,在虚拟世界中体验现实世界的生活方式,打造数字化体系的数字空间。

关键字: 字节 VR 产品

众所周知,近几年消费电子市场疲软,手机等移动终端的市场销量不断下跌,热度远不如之前。但是随着Meta对元宇宙概念的引入,原本手机的热度和供应链越来越多地转移到了VR等元宇宙领域,国内的VR整机龙头企业Pico预计后半年将...

关键字: VR Pico 字节

上周有位读者字节一二面时,被问到:Redis 的大 Key 对持久化有什么影响?

关键字: 字节 Redis 大 Key

据不完全统计,字节员工平均在岗不到7个月,所以入职一年的我某种程度上可以说是一个"老人"了,一个入职一年的老人。

关键字: 字节 JavaScript
关闭
关闭