十进制:1
二进制:0(符号位,0为正,1为负)0000000000000000000000000000001
十进制:0
二进制:0(符号位,0为正,1为负)0000000000000000000000000000000
十进制:-0
二进制:0(符号位,0为正,1为负)0000000000000000000000000000000
十进制:-2147483648
二进制:1(符号位,0为正,1为负)0000000000000000000000000000000
十进制:-2147483647
二进制:1(符号位,0为正,1为负)0000000000000000000000000000001
由有符号整型转换为无符号整型,其32位机器码不变。
#include<iostream>
using namespace std;
int main (void)
{
int i=-1;
unsigned j,k=-1;
j=i;
cout<<j<<endl; //输出结果是4294967295
cout<<k; //输出结果是4294967295
getchar();
}
对于printf函数来说,
%d,
1.查看32位是否是0或者1
2.如果是1,31位求补码算出;如果是0,31位直接算出。
%u
32位全部直接算出
%f
float 取出32位
double 取出64位
long double 取出96位
%c
char 取出8位 按照ACSII对照输出
总结:只与类型的字节和字节里面储存的数据有关。
本文详细介绍了有符号整型与无符号整型之间的转换原理及不同格式输出的影响,并通过实例展示了在C++中如何进行类型转换及其输出结果。

1154

被折叠的 条评论
为什么被折叠?



