精选问答
C, %u代表什么代表无符号整数 是不是我定义a=-1,输出是调用%u,输出的结果是1呢?我运行 出来是一个很大的数

2019-04-26

C, %u代表什么
代表无符号整数 是不是我定义a=-1,输出是调用%u,输出的结果是1呢?
我运行 出来是一个很大的数
优质解答
目前的编译器一般int为32位的,所以-1用%u输出为4294967295,如果你是这样写的unsigned a=-1;其实是两步,第一步:unsigned a;第二步:a=-1;因为a为unsigned型的,所以-1会先强制转换为unsigned型,-1在内存中是1111111111111111111111111111111共32个1,因为按%u读取,所以为2^32-1=4294967295 目前的编译器一般int为32位的,所以-1用%u输出为4294967295,如果你是这样写的unsigned a=-1;其实是两步,第一步:unsigned a;第二步:a=-1;因为a为unsigned型的,所以-1会先强制转换为unsigned型,-1在内存中是1111111111111111111111111111111共32个1,因为按%u读取,所以为2^32-1=4294967295
相关标签: 代表 符号 整数 定义 运行
相关问答