找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 828|回复: 8
收起左侧

C语言数据类型问题unsigned char short能不能直接做运算或比较大小?

[复制链接]
ID:997026 发表于 2023-5-5 18:54 | 显示全部楼层 |阅读模式
大家好,

请问unsigned short类型的数据和unsigned char类型的数据能不能直接做运算或比较大小?

比如:
unsigned short  data1=3;
unsigned char  data2=100;
unsigned short   result=0;

if(data1==data2)
{
    result=1;
}
else
{
result=0;
}

或者,
result=data1+data2;

由于data1和data2数据类型不同,不知道能不能直接做以上的逻辑运算和数学运算?还是必须要强制把类型转换成一样的?
谢谢
回复

使用道具 举报

ID:883242 发表于 2023-5-5 20:30 | 显示全部楼层
当然能运算了,c语言就是这样,非常灵活,但是用户水平不高就掉坑里面了。像FORTRAN这样严格限制运算类型的,可以帮助用户检查错误,但是很死板。
回复

使用道具 举报

ID:908826 发表于 2023-5-6 09:01 | 显示全部楼层
编辑器应该会自动升级无符号字符型本质上也是一种小整形变量
回复

使用道具 举报

ID:206581 发表于 2023-5-6 10:43 | 显示全部楼层
可以的,无符号字符型的运算和比较
回复

使用道具 举报

ID:997026 发表于 2023-5-8 11:19 | 显示全部楼层
Hephaestus 发表于 2023-5-5 20:30
当然能运算了,c语言就是这样,非常灵活,但是用户水平不高就掉坑里面了。像FORTRAN这样严格限制运算类型的 ...

了解了,感谢回复
回复

使用道具 举报

ID:291668 发表于 2023-5-8 11:23 | 显示全部楼层
有学习到了,有时候越是简单的问题还越迷茫
回复

使用道具 举报

ID:883242 发表于 2023-5-8 12:40 | 显示全部楼层
li64331218 发表于 2023-5-8 11:23
有学习到了,有时候越是简单的问题还越迷茫

那你随便找个编译器自己try try不就什么都清楚了吗?
回复

使用道具 举报

ID:879348 发表于 2023-5-9 16:47 | 显示全部楼层
可以比较,编译器会强制转换
回复

使用道具 举报

ID:1076414 发表于 2023-5-9 19:24 | 显示全部楼层
可以的,编译器会自动把他们转换成同一种数据类型
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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