| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6675 人关注过本帖
标题:[求助] 位运算问题 左移(或右移)运算与乘法的关系问题
只看楼主 加入收藏
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
结帖率:88.89%
收藏
 问题点数:0 回复次数:4 
[求助] 位运算问题 左移(或右移)运算与乘法的关系问题
高手啊:
今天我看到了C语言的位运算,其中讲到左移运算符和右移运算符。
在讲左移运算符时,书上说:“左移舍去的高位不包含1,则数每移动1位,相当于该数乘以2。左移n位,相当于该数乘以2的n次方”。
看到这里时,我想到了这样一个问题:如果左移时舍去的最高位恰恰为1时,又相当于什么呢?

同理,右移运算符的移动,当最高位为1时,又相当于什么呢?


请高手指教啊,我在线等哦。



先谢了哈。
先送点礼。
搜索更多相关主题的帖子: 乘法 运算符 关系 C语言 
2007-04-19 21:44
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
书上说的高位不是这个数字的高位
比如
2的二进制是10
32位机器的话书上说的高位其实是
000..(30个0)10.
那么书上的这个高位其实是左边第一个0
如果这一位是1的话你在左移动其实数据就超出了,用10进制的话也就是这个数字的2倍超出范围
又移应该和最高位没有什么关系吧

2007-04-19 21:52
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 

还是有点不明白,不过要明白一点了。谢谢,我再去去查看一下相关的知识,今天晚上回你。谢谢你哈。
到时候还请你再指教指教。

2007-04-20 13:58
k_summer7
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-3-19
收藏
得分:0 
最高位为1时,表明该立即数是一个负数;
此时所有的操作都按补码来运算;
2007-04-21 14:47
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 

哦,知道了一些。

可是,我现在并不清楚什么是补码,什么是反码,书上讲这两个概念总共用了不到100字,我又去百度了下,还是不清楚,请问能不能再讲明白些啊?


谢谢哈。
不好意思,这些天忙了,忘了看贴,呵呵。
向帮助别人的人致敬!

2007-04-22 17:21
快速回复:[求助] 位运算问题 左移(或右移)运算与乘法的关系问题
数据加载中...
 
   



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

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