第3位,将二进制数右移13位,第3位的值就到了最后1位,然后将二进制数左移15位,再右移15位,所得的数就是第3位的值了,1或者0,再乘以权重2**6; 依次类推。先左移15位,再右移15位的目的是将除要取出的位之外的其它位变为0。 这个算法必须用短整型,刚开始我在我的代码上按照谭浩强的算法进行修改之后,...
写一函数,对一个16位的二进制数取它的奇数位(从左边起第1位... int calculate(int number) { int result=0x00; int counter=0; int pass=0x02; for(counter=0;counter<8;counter++) result|=(number&(pass<<(counter*2))); return result; } 编写一个函数,实现将一个8位的二进制数的奇数位取出(...
include <iostream> using namespace std;void extracter(int number){ for(int i = 0; i < 16; i += 2){ // 0x8000: 1000,0000,0000,0000 if((0x8000 >> i) & number)cout << '1';else cout << '0';} } int main(){ // 38566: 1001,0110,1010,0110 // 打出: 1001,...
编写一个函数,对一个16位的二进制数取出它的奇数位(即从左边起,第1,3,5,...,15位)。 2013-10-18 17:35 −... Andy Cheung 0 5526 位运算 之(1) 按位与(AND)& 操作 2009-12-25 17:58 −文章作者:ktyanny 文章来源:ktyanny 转载请注明,谢谢合作。 由于位运算直接对内存数据进行操作,不需要...