关于c中的 移位操作,谁解释一下?
大家好:
我看了一篇文章 :http://www.codeproject.com/cpp/bitbashing.asp
他解释了 移位操作,其中有几个地方不明白。
1.An ideal use for this is to set up a mask to check the values of certain bits. Say we have a BYTE that contains some bit flags, and we want to check if bit four bit is set.
BYTE b = 50;
if ( b & 0x10 )
cout << "Bit four is set" << endl;
else
cout << "Bit four is clear" << endl;
请问这样0,1做了比较后有什麽好处,他是希望得到什麽效果呢?
2.四位的bit代表0~F十五个数字,四个bit用nibble来表示,它可以把bit和十六进制联系起来:
So if we had one BYTE containing the letter 'r' (ASCII code 114) it would look like this:
0111 0010 binary
7 2 hexadecimal
请问这样联系有什麽好处,为哪里带来了方便呢?据个例子好吗?
多谢!
我看了一篇文章 :http://www.codeproject.com/cpp/bitbashing.asp
他解释了 移位操作,其中有几个地方不明白。
1.An ideal use for this is to set up a mask to check the values of certain bits. Say we have a BYTE that contains some bit flags, and we want to check if bit four bit is set.
BYTE b = 50;
if ( b & 0x10 )
cout << "Bit four is set" << endl;
else
cout << "Bit four is clear" << endl;
请问这样0,1做了比较后有什麽好处,他是希望得到什麽效果呢?
2.四位的bit代表0~F十五个数字,四个bit用nibble来表示,它可以把bit和十六进制联系起来:
So if we had one BYTE containing the letter 'r' (ASCII code 114) it would look like this:
0111 0010 binary
7 2 hexadecimal
请问这样联系有什麽好处,为哪里带来了方便呢?据个例子好吗?
多谢!
...全文
相关推荐
C语言中的移位操作技巧
### C语言中的移位操作技巧#### 一、概述在C语言中,位操作是一项非常重要的技术,尤其是在处理硬件接口、低级编程以及优化算法性能等方面。位操作包括位的移动(移位)、位的逻辑运算等。
Linux平台下C语言中的移位操作
"Linux平台下C语言中的移位操作"在 Linux 平台下,C 语言中的移位操作是一个非常重要的概念,它广泛应用于各种编程领域中。
关于移位操作的一点重要说明
在编程语言中,移位操作是一种非常基础且重要的算术运算,特别是在处理二进制数据时。本文将详细讲解C语言中的移位操作,并通过具体的示例来解析其工作原理和注意事项。首先,我们需要理解移位操作的基本概念。
关于C编程的移位操作
C 语言中的移位操作是基于二进制的位操作,它允许我们将数字的位向左或向右移动,这在计算机科学中尤其有用,因为它可以实现高效的乘法和除法运算。移位操作符有两种类型:左移(<<)和右移(>>)。
SystemChange(c语言移位操作实现的10进制到16进制和2进制的转换)
C语言中的移位操作可以加速这一过程,通过将数字右移来减少位数,然后检查最后一位(被移出的位)以构建二进制表示。


