C语言无符号变量赋值负数 unsigned char , unsigned short unsigned int unsigned long
Uint及Ulong 赋值后还是负数,Ushort类型和Uchar以下会把负数补码变正数存储
另外 pfintf() 打印输出Uint 变量的内容 ,格式不同,会强制转换后输出 。 %d 会把Uint 转换成int 输出, %u 会输出为无符号 。
cout 打印输出 都是输出Uint
/**********************实验1****************************************/
#include "iostream.h"
#include "stdio.h"void main()
{
// unsigned short WuFuHao ;
unsigned long WuFuHao ;
WuFuHao = (-50);
if(WuFuHao == (-50))
{
//cout<<"判断为真,是-50"<<endl;
//cout << WuFuHao <<endl;
printf("if判断为真,是-50\n" );
printf("PRINTF打印结果是:%d\n" , WuFuHao);
}
}
打印输出结果 : if判断是正确的
if判断为真,是-50
PRINTF打印结果是:-50
Press any key to continue
/**********************实验2****************************************/
#include "iostream.h"
#include "stdio.h"void main()
{
unsigned short WuFuHao ;
//unsigned long WuFuHao ;
WuFuHao = (-50);
if(WuFuHao == (-50))
{
//cout<<"判断为真,是-50"<<endl;
//cout << WuFuHao <<endl;
printf("if判断为真,是-50\n" );
printf("PRINTF打印结果是:%d\n" , WuFuHao);
}
}
打印输出结果 : if语句 假
没有输出
Press any key to continue
/**********************实验3****************************************/
#include "iostream.h"
#include "stdio.h"
void main()
{
//unsigned short WuFuHao;
unsigned int WuFuHao ;
WuFuHao = (-10);
cout << WuFuHao <<endl;
printf("PRINTF打印结果是:%d\n" , WuFuHao);
}
输出结果为:
4294967286
PRINTF打印结果是:-10
Press any key to continue
|