定义了unsigned int 为何用%d输出不用呢?

日期:2013-01-03 17:30:17 人气:1

定义了unsigned int 为何用%d输出不用呢?

是这样的,题目说int是两个字节,也就是说用16个二进制表示,16个二进制能表示的整数是65 536个,0到65535,这里的65535=1111111111111111B 但是这里printf中是%d,也就是有符号的十进制,他是采用补码形式存储的,所以65535(1111....1B)是-1。 (十进制-1的补码是11111....1B)
    A+
热门评论