标题: C语言无符号变量赋值负数-Uint及Ulong 赋值后还是负数,Ushort类型和Uchar以下会... [打印本页]

作者: shaonv    时间: 2015-1-1 18:23
标题: C语言无符号变量赋值负数-Uint及Ulong 赋值后还是负数,Ushort类型和Uchar以下会...
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








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1