读书人

小弟我提的有关问题大家都愿意来回答

发布时间: 2012-02-20 21:18:25 作者: rapoo

我提的问题,大家都愿意来回答!

在 VC++ 6.0 中,我定义了一个变量:int a

它的值可能为:0 到 65535 之间 (这个值由我来决定)

现在,我又定义了一个变量:int b

变量 b 的值是由两个变量 a 来组成的,也就是说 b 的高4位和低4位都等于 a

=============================================

举例:

假如变量 a = 0xFFFF

那么变量 b = 0xFFFFFFFF

=============================================

变量 a 已知为 32767,求变量 b

希望解答的朋友能加入一些文字说明,这样能让更多的菜鸟学到知识,谢谢!

[解决办法]
例子没看明白. 能不能不要全都是11111

高4位低4位用Hex表示, 也只有F一位就行了吧?
那b=0xFFFFFFFF, 哪两个F是由a决定的? 其它的F又是怎么来的?
[解决办法]
a=a&0xff;
b=a < <4 | a ;
[解决办法]
这个问题关键是要注意一点,int这种类型在有些机器上是16位的,在有些机器上是32位的,还

有就是符号位的问题,其它就是一些简单的位运算,没有什么复杂的。
[解决办法]
b = (a * 65536) + a;
不会产生溢出???

读书人网 >C++

热点推荐