猿问

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

有以下程序:
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应该是在定义字符吧,怎么后来将其赋值为一个数呢?

缥缈止盈
浏览 115回答 3
3回答

人到中年有点甜

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

哔哔one

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

慕桂英4014372

字符在计算机中本就是以数的形式存放的
随时随地看视频慕课网APP
我要回答