电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
基础l问题,X86平台C编译器处理数据长度小于寄存器位数机制
已解决
73482
个问题
已帮助
5993
位优秀工程师
基础l问题,X86平台C编译器处理数据长度小于寄存器位数机制
沃尔夫斯堡的羊
2020-05-18
浏览量:387
如题在32bit平台上编写和编译C语言,编译器是如何处理和平台寄存器位数不一致(长度小于32bit)的数据类型,如char(8bit)short int(16bit)?这个机制是什么样的?
显示全部
嵌入式
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
xdsnet
这个通常情况下都是直接用最小寄存器位数,然后直接屏蔽掉多余位。
比如16bit的数据 是 X & 0x0000FFFF
发布于
2020-05-18
举报
评论 0
0
0
其他答案
数量:
1
chen0000009
它的寄存器也要实现对齐的,一般是只用需要的位,不用的位直接填0.实现位数对齐可以提高其运算效率
发布于
2020-05-19
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
基础l问题,X86平台C编译器处理数据长度小于寄存器位数机制
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: