野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17403|回复: 2

困扰了一下午的问题,short与int型的区别

[复制链接]
发表于 2014-10-26 15:59:29 | 显示全部楼层 |阅读模式
最近一直在学习iic,然后移植各种传感器的程序,今天做mpu6050,时候陀螺仪和加速度还有温度的数据都能读出来,但总感觉数据不对,和别人的程序读出来的数据差别很大,温度还有奇葩的跳变,各种改各种纠结,后来仔细一看在变量定义的时候和别人的有点不一样再申明变量是我用的是int型(int G_X,G_Y,G_Z;
        int A_X,A_Y,A_Z;
        int Temp ,Temperature;
               )读出来的数都很大,总是在65536左右浮动,后来试着把int全改为short后数据正常了,百度了半天没看明白,从百度粘来: short是16位,int最少是16位,32位平台上int一般是32位。
现在基本都是32位机为平台编译器,其中,int 是4个字节的,short是2个字节的。
short又名短整形,当然是比int取值范围小。
short是-65535 ~ 65535 一般情况下,你有可能是所处理的数据大于65KBit
short也就不能满足你的需要了,所以要采用int。求解释
回复

使用道具 举报

 楼主| 发表于 2014-10-26 16:06:37 | 显示全部楼层
数据类型为int时数据

数据类型为short时

数据类型为short时

数据类型为int时数据

数据类型为int时数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-30 17:32:09 | 显示全部楼层
这个问题没有人遇到过吗吗,知道的讨论一下呗,,,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 19:58 , Processed in 0.039266 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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