标题:位运算,除法运算和位数关系。
只看楼主
Leotsing
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-5-16
结帖率:0
已结贴  问题点数:20 回复次数:2 
位运算,除法运算和位数关系。
比如现在
8位的变量A=1100 0000

第一种情况:进行位运算向右移4位,得到变量A1=0000 1100

第二种情况:用A除以 (2^4=16),得到变量 A2=1100

我想问的是。进行第一种情况是不是得到的A1还是8位。但是进行第二种运算,A2降低了4位。如果是这样,

我新建一个4位的变量B。我可以写 B=A/16.但可不可以写B=A>>4。它会将A的低四位保存到B吗?
搜索更多相关主题的帖子: 1100 新建 
2015-05-16 08:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:10 
如何理解,由机器的字元長度决定。字元,字的单元,8位机器,CPU看到的数据尺寸是8位,人类写出1100,在CPU看来,左边也有4个0,即0001100,你说A2是1100是你以人类的角度看。举个例子,数学上你说十进制的051是51是不是等价的?

别走火入魔了!大陆的教材就专钻研这种无谓的“知识”。

授人以渔,不授人以鱼。
2015-05-16 10:00
取名字
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:236
专家分:924
注 册:2015-4-27
得分:10 
我新建一个4位的变量B。我可以写 B=A/16.但可不可以写B=A>>4。它会将A的低四位保存到B吗?
对于B=A>>4,B得到的值是A右移4位后的值,即A高4位的值,而A的低4位值被移出,并没有保存到B中,这与B=A/16是不一样的。在实际编写中,一定要注意变量类型匹配问题,即8位的变量值不能赋值到4位的变量中。
2015-05-16 10:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445367-1-1.html




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

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