4527|12

406

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

byte类型的问题 [复制链接]

 
最近看到一个定义,几个不同的变量被定义为byte数据类型,但是占用的字节数有1, 8, 16,  但是我查了标准c没有这个表达方式。很是困惑这一点,求助

此帖出自Linux开发论坛

最新回复

最后那两列之间没有什么必然联系,倒数第二列是总的字节数(不是数据类型的字节数),后面的数据类型  详情 回复 发表于 2016-11-18 16:06
点赞 关注

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这不是标准c里的吧?说了是定义,那么是不是可以看做相当于标准C里的1Byte,8Byte,16Byte
此帖出自Linux开发论坛

点评

也就是说可以直接用byte定义变量,这些变量的字节长度是变化的吗  详情 回复 发表于 2016-11-14 17:30
 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

板凳
 
Robert521521 发表于 2016-11-14 17:08
这不是标准c里的吧?说了是定义,那么是不是可以看做相当于标准C里的1Byte,8Byte,16Byte

也就是说可以直接用byte定义变量,这些变量的字节长度是变化的吗
此帖出自Linux开发论坛
 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

4
 
数据类型不是char、short、int、long、float、double吗!?!?
没听说过还有用byte来定义变量的。。。。。
此帖出自Linux开发论坛
 
 
 

回复

6040

帖子

202

TA的资源

版主

5
 
没有byte数据类型,但是可以自定义类型,把已有的数据类型定义为byte
如:
typedef short byte
typedef char byte
此帖出自Linux开发论坛

点评

如果一个协议中定义了byte分别有1,4,8个字节,是不是要使用typedef 分开定义  详情 回复 发表于 2016-11-18 12:43
 
 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

6
 
lcofjp 发表于 2016-11-14 18:27
没有byte数据类型,但是可以自定义类型,把已有的数据类型定义为byte
如:
typedef short byte
typedef  ...

如果一个协议中定义了byte分别有1,4,8个字节,是不是要使用typedef 分开定义
此帖出自Linux开发论坛

点评

可能是你的描述出了问题,“byte”也被你神话了。 或许你的意思是需要用union来解决的那个问题,一种类型,可能占用1,4,8字节,但是具体不定。但是这种类型用“byte”来描述,完全不恰当。 union SomeType{ uint8  详情 回复 发表于 2016-11-18 12:57
我觉得你需要自定义不同的类型,不能就使用一个byte类型,这样代码容易出问题。 不知道是哪个SB定义的协议,一个byte可以有1,4,8字节。  详情 回复 发表于 2016-11-18 12:53
 
 
 

回复

6040

帖子

202

TA的资源

版主

7
 
青城山下 发表于 2016-11-18 12:43
如果一个协议中定义了byte分别有1,4,8个字节,是不是要使用typedef 分开定义

我觉得你需要自定义不同的类型,不能就使用一个byte类型,这样代码容易出问题。
不知道是哪个SB定义的协议,一个byte可以有1,4,8字节。
此帖出自Linux开发论坛

点评

协议里不同字节的不同变量都用byte来标示数据类型,我也是迷糊了半天  详情 回复 发表于 2016-11-18 15:28
 
 
 

回复

6040

帖子

202

TA的资源

版主

8
 
青城山下 发表于 2016-11-18 12:43
如果一个协议中定义了byte分别有1,4,8个字节,是不是要使用typedef 分开定义

可能是你的描述出了问题,“byte”也被你神话了。
或许你的意思是需要用union来解决的那个问题,一种类型,可能占用1,4,8字节,但是具体不定。但是这种类型用“byte”来描述,完全不恰当。
union SomeType{
uint8_t xxx;
uint32_t xxx;
uint64_t xxx;
};
此帖出自Linux开发论坛

点评

就是这样的  详情 回复 发表于 2016-11-18 15:36
 
 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

9
 
lcofjp 发表于 2016-11-18 12:53
我觉得你需要自定义不同的类型,不能就使用一个byte类型,这样代码容易出问题。
不知道是哪个SB定义的协 ...

协议里不同字节的不同变量都用byte来标示数据类型,我也是迷糊了半天
此帖出自Linux开发论坛
 
 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

10
 
lcofjp 发表于 2016-11-18 12:57
可能是你的描述出了问题,“byte”也被你神话了。
或许你的意思是需要用union来解决的那个问题,一种类 ...

就是这样的

QQ图片20161118153549.png (14.66 KB, 下载次数: 0)

QQ图片20161118153549.png
此帖出自Linux开发论坛

点评

无语,那个相当于单位,就是8Byte,1Byte,4Byte,这个都理解不了吗。。。  详情 回复 发表于 2016-11-18 15:38
 
 
 

回复

6040

帖子

202

TA的资源

版主

11
 

无语,那个相当于单位,就是8Byte,1Byte,4Byte,这个都理解不了吗。。。
此帖出自Linux开发论坛

点评

有的变量数据类型还是写着short double ,累积在一起, 也就是说另外定义相应数据长度的类型吗  详情 回复 发表于 2016-11-18 15:41
 
 
 

回复

406

帖子

1

TA的资源

一粒金砂(中级)

12
 
lcofjp 发表于 2016-11-18 15:38
无语,那个相当于单位,就是8Byte,1Byte,4Byte,这个都理解不了吗。。。

有的变量数据类型还是写着short  double ,累积在一起,

也就是说另外定义相应数据长度的类型吗
此帖出自Linux开发论坛

点评

最后那两列之间没有什么必然联系,倒数第二列是总的字节数(不是数据类型的字节数),后面的数据类型  详情 回复 发表于 2016-11-18 16:06
 
 
 

回复

6040

帖子

202

TA的资源

版主

13
 
青城山下 发表于 2016-11-18 15:41
有的变量数据类型还是写着short  double ,累积在一起,

也就是说另外定义相应数据长度的类型吗

最后那两列之间没有什么必然联系,倒数第二列是总的字节数(不是数据类型的字节数),后面的数据类型
此帖出自Linux开发论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表