为了账号安全,请及时绑定邮箱和手机立即绑定

难道这是typedef的原因所致吗? 谢谢?

难道这是typedef的原因所致吗? 谢谢?

缥缈止盈 2022-10-01 13:09:35
有以下程序:typedef unsigned char INT8U;8位数而已,为什么是字符型typedef signed char INT8S;为什么是字符型typedef unsigned int INT16U;typedef signed int INT16S;typedef unsigned long INT32U;typedef signed long INT32S;为什么INT8U i =0; INT8S j=1;请问Char应该是在定义字符吧,怎么后来将其赋值为一个数呢?
查看完整描述

3 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

字符型在机器里面也是以二进制保存的。所以 i = 0 不一定就是数学意义上的零。
typedef 是预定义的关键字,意思定义一个 INT8U 来代替 unsigned char, 只是为了写程序和读程序的方便,没有其他意义。

查看完整回答
反对 回复 2022-10-06
?
哔哔one

TA贡献1854条经验 获得超8个赞

char 和int本身就没有什么区别,只是长度不用而已。在内部都是以二进制存储。只要赋值是不超过所定义的类型的最大限度就是合法的。并且char也可以做+-移位等操作。

查看完整回答
反对 回复 2022-10-06
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

字符在计算机中本就是以数的形式存放的

查看完整回答
反对 回复 2022-10-06
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信