郓城县县委书记:unsigned int 与 in
来源:百度文库 编辑:九乡新闻网 时间:2024/04/23 18:10:57
(1). 如果你定义了一个unsigned int的变量,并赋一个负值给它会怎么样?
这时该unsigned int变量的内存表示和值为该负数的int变量的内存表示是一致的。
例如:unsigned int i = -1; 因为 -1 在作为有符号数int在内存中的表示为:ox ffff ffff,
所以该赋值操作实际上是把i置为其取值范围内的最大整数。if(i > 0) 的判断结果应该是真。
(2).如果一个操作数是无符号整数,另外一个操作数是有符号整数,那么表达式的结果就是无符号整数。
例如:unsigned int i = 4;
int j = -5;
if(i + j > 0) printf("result is unsigned!\n");
执行的结果是,printf语句被执行。因为 i + j的结果为-1,但将-1作为无符号数对待。
(3).可以想象,如果将无符号数强制转换为有符号数 或是通过无符号数赋值的方式:不改变内存表示,改变对待方式。(其实大多数强制类型转换都是这么做的,是不是全部都是呢?)
例如:int i = 0xffffffff;
printf("i = %d\n",i);
unsigned int n = 0xffffffff;
i = (int) n;
printf("i = %d\n",i);
输出的结果均为为-1。
这时该unsigned int变量的内存表示和值为该负数的int变量的内存表示是一致的。
例如:unsigned int i = -1; 因为 -1 在作为有符号数int在内存中的表示为:ox ffff ffff,
所以该赋值操作实际上是把i置为其取值范围内的最大整数。if(i > 0) 的判断结果应该是真。
(2).如果一个操作数是无符号整数,另外一个操作数是有符号整数,那么表达式的结果就是无符号整数。
例如:unsigned int i = 4;
int j = -5;
if(i + j > 0) printf("result is unsigned!\n");
执行的结果是,printf语句被执行。因为 i + j的结果为-1,但将-1作为无符号数对待。
(3).可以想象,如果将无符号数强制转换为有符号数 或是通过无符号数赋值的方式:不改变内存表示,改变对待方式。(其实大多数强制类型转换都是这么做的,是不是全部都是呢?)
例如:int i = 0xffffffff;
printf("i = %d\n",i);
unsigned int n = 0xffffffff;
i = (int) n;
printf("i = %d\n",i);
输出的结果均为为-1。
unsigned int 与 in
unsigned int 与in转换问题
unsigned 和 int的计算
unsigned
Int'l community urges restraint, orderly transition in Egypt
China announces 2nd increase in benchmark int...
Indoor smoking ban in public venues comes int...
First Cuban student to compete in int'l Chine...
3rd Emei Int'l Kungfu Festival held in China'...
China's role in int'l division of labor chang...
INT 函数 (三角与数学函数)
怎么完成CString与int的转换??
Chinese vice premier urges more participation in int'l cooperation in polar, oceanic research
OChinese vice premier urges more participation in int'l cooperation in polar, oceanic research
INT 函數
[转]java中byte转换int时为何与0xff进行与运算
java中byte转换int时为何与0xff进行与运算
in front of与in the front of的区别
零值比较--BOOL,int,float,指针变量与零值比较的if语句 - 张东升's b...
take part in与join的区别
char、signed char 和 unsigned char 的区别
interested in doing sth与interested to do sth
一道试题引发的血案 - 林世霖的技术博客 - CSDN博客int *ptr2=(int *)((int)a+1);
excel取整函数 trunc int