VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 417|回复: 4

[已解决]求助 unsigned int 数据类型

[复制链接]
38_avatar_middle
最佳答案
0 
在线会员 发表于 2021-12-9 14:06:58 | 显示全部楼层 |阅读模式
求助 unsigned int 数据类型

C51中   uint 是16bit.
C语言中 uint 是32bit.

为什么不一样呀???
记得16年前,讲Turbo C 2.0 int 和 uint都是16位呀???
发现这个问题,恍然明白了。之前遇到的问题,C51中正常,单片机把数据传到电脑中就出错。

51单片机,1602液晶显示结果正常。
单片机把数据通过串口传到电脑再计算结果就出错。
单片机计算结束,把结果传回电脑,结果是正常的。

传输没问题,问题在电脑计算过程中。
不明白什么原因。。。最后使出不讲道理的办法解决了问题。。。
却不知道什么原因。。。。
办法:
变量 uint num; 如果num需要位移运算。
左移运算结束之后 和 右移运算结束之前,num &= 0xFFFF;
还以为 C语言不讲究,把变量内存空间之外数据移了进来。。。
现在终于明白了。。。。

Turbo C 2.0 int 和 uint都是16位呀
什么时候  C语言 int 和 uint 变成了32位

求助 unsigned int 数据类型
最佳答案
31_avatar_small
2021-12-9 18:34:03
这个问题一两句话说不完也说不清,数据类型所占位宽跟各家编译器、操作系统有关,总之一句话,数据类型在各家编译器、操作系统之中并非统一标准。




上一篇:各位大佬推荐下c++新手书籍无基础
下一篇:求助!MFC对话框项目中,如何使工具栏与菜单栏出现在同一行?
31_avatar_middle
最佳答案
62 
在线会员 发表于 2021-12-9 18:34:03 | 显示全部楼层    本楼为最佳答案   
bestAnswer
这个问题一两句话说不完也说不清,数据类型所占位宽跟各家编译器、操作系统有关,总之一句话,数据类型在各家编译器、操作系统之中并非统一标准。
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-12-9 18:52:18 | 显示全部楼层
cpp2019 发表于 2021-12-9 18:34
这个问题一两句话说不完也说不清,数据类型所占位宽跟各家编译器、操作系统有关,总之一句话,数据类型在各 ...

什么时候  C语言 int 和 uint 变成了32位
86_avatar_middle
最佳答案
0 
在线会员 发表于 2021-12-10 22:26:57 | 显示全部楼层
好像跟内存总线的带宽有关系,要不去看看计算机组成原理
99_avatar_middle
最佳答案
0 
在线会员 发表于 2021-12-23 14:41:35 | 显示全部楼层
什么时候  C语言 int 和 uint 变成了32位
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2022-12-10 04:46

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表