| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1704 人关注过本帖
标题:请问什么是回绕操作?
只看楼主 加入收藏
粟米米
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-2-21
收藏
 问题点数:0 回复次数:7 
请问什么是回绕操作?
刚看到,对于变量,如果赋值不合适,会产生回绕操作,例如,给无符号数赋负值,给整型变量赋值超过范围等等
我自己试了一下,编译确实没问题,但运行结果我没看出规律。

搜索了一下,没有找到答案,哪位大虾帮介绍一下回绕操作这个概念。

谢先!
搜索更多相关主题的帖子: 回绕 
2007-06-01 21:20
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
第一次听说还有回绕操作这个词汇。。。期待楼下的答案

生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-06-01 21:34
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
如:
unsigned int i = -1;
输出的时候,i 的值为:4294967295(最大值)
i的值有一个循环:
0 1 2 3 。。。 4294967295 0 1 2 。。。。 4294967295 。。。
如果溢出了,就回到循环的开头。

人生重要的不是所站的位置,而是所朝的方向
2007-06-01 21:55
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

求余 %


2007-06-01 22:08
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 

在计算机里有符号数的负数(最高位为符号位,0表示为正数,1表示为负数)是以补码形式储存。所以将一个负数赋值给一个无符号变量就会把那个数的补码放入无符号变量。
补码计算方式:A的补码=A的反码+1 (A>0)
反码计算方式:A的反码=!A

简单举例:A=1,变量长度为32位(Long)
A的反码就是11111111,11111111,11111111,11111110
A的补码就是11111111,11111111,11111111,11111111
所以-1的在内存中就和0xFFFFFFFF(无符号最大数相同)

[此贴子已经被作者于2007-6-2 12:01:29编辑过]


VB QQ群:47715789
2007-06-02 12:00
粟米米
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-2-21
收藏
得分:0 
谢谢楼上各位。

还有一个问题:如果赋值超出范围,超出的值如何处理?例如,给16位的变量,赋值确是32位,怎么处理?是存储哪些位,多出的位如何处理?
2007-06-03 01:07
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
以下是引用粟米米在2007-6-3 1:07:15的发言:
谢谢楼上各位。

还有一个问题:如果赋值超出范围,超出的值如何处理?例如,给16位的变量,赋值确是32位,怎么处理?是存储哪些位,多出的位如何处理?

好像是储存低16位的。


人生重要的不是所站的位置,而是所朝的方向
2007-06-03 02:00
千金散尽
Rank: 1
等 级:新手上路
威 望:2
帖 子:55
专家分:0
注 册:2007-5-23
收藏
得分:0 
系统会丢掉你的赋值,变量里面将会是乱码。

才明白但已经晚了,希望结识想创业的朋友。
2007-06-03 02:28
快速回复:请问什么是回绕操作?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024756 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved