社区
C语言
帖子详情
unsigned char a=-,按%d输出为什么是255?
gwsr
2003-08-08 03:10:51
如题,请详细解释,谢谢了!
...全文
404
2
打赏
收藏
unsigned char a=-,按%d输出为什么是255?
如题,请详细解释,谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ejiue
2003-08-08
打赏
举报
回复
unsigned char a=-1;
即a=11111111b(-1的补码表示),即a=FFh。
十进制输出为255。
如果写为char a=-1;
则输出-1。
呵呵。
gwsr
2003-08-08
打赏
举报
回复
写错了,是unsigned char a=-1,呵呵,一着急。。。
char
a=-1,
unsigned
char
a=-1解析
但是
unsigned
char
a=-1来说,
输出
%d是整型,就要进行整型提升,在前面补充符号位,又因为
unsigned
没有符号位,所以补充0,-1本来是整型,占4个字节,但是
char
只占1个字节,所以。对于
char
a=-1来说,
输出
的还是-1,...
【C语言】告诉你为什么
unsigned
char
a=-1;%d打印出来是
255
从自动类型转化告诉你为什么
unsigned
char
a=-1;%d打印出来是
255
C语言中signed int与
unsigned
int还有
unsigned
char
a=-1;signed
char
=-1;
char
a=-1;打印结果分析
然而对于if()逻辑语句中的a+b中的int 类型便会转换为
unsigned
int 类型。(1)
unsigned
int类型比Int 类型容量大,因为对于32\64位机器最前面一位对于Int类型而言均是符号位,而对于
unsigned
int类型最高位不是...
C语言
char
类型数据的易错题
一.截断与整型提升 int main() {
char
a = -1;...-1的补码为11111111111111111111111111111111,
char
类型的将整型a截断存储为一个字节11111111,打印时是按整型进行打印的,要发生整型提升,按其
关于
unsigned
char
、
unsigned
short使用printf(“%d”)进行
输出
的结果
参考博客:C语言
unsigned
和 signed 类型相互转换深入理解 参考博客:
unsigned
和signed 对于
unsigned
无符号数据类型是不应该向其赋值负数的,但是...
unsigned
char
uc= -1;
unsigned
short us=-1;
unsigned
in
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章