如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.

unsigned char bytereverse(unsigned char val) {

int i;

for(i = 0; i < 4; i++) {
                if(((val &(1 << i)) >> i)^((val & (1 << (7 - i))) >> (7 - i)))
                        val ^= (1 << i) | (1 << (7 - i));
        }
        return val;
}

时间: 2024-10-21 05:29:47

如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.的相关文章

字和字节和位和16进制数的关系

字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)  一个字的字长为16 一个字节的字长是8 两个16进制数! 一个字节八个比特,就是八个二进制位   0000 0000     0x00-0xFF (十进制0-255) 四个二进制数最大表示为15,就是一个16进制数,所以八位可以表示成两个16进制的数!

java字符、字节、位

1字符=2字节: 1字节=8位 b:位 B:字节 英文和数字占一个字节中文占一个字符,也就是两个字节 1k=2^101kb=1024 位1kB=1024 字节

字和字节和位的关系

转自:https://blog.csdn.net/u012137644/article/details/20786501 1.位(bit)   来自英文bit,音译为"比特",表示二进制位.位是计算机内部数据储存的最小单位,11010100是一个8位二进制数.一个二进制位只可以表示0和1两种状态(21):两个二进制位可以表示00.01.10.11四种(22)状态:三位二进制数可表示八种状态(23)--. 2.字节(byte)  字节来自英文Byte,音译为"拜特",

一个字节多少位

前几天笔试发现这个问题有点模糊,囧,记录一下: 1字节(byte) = 8位(bit) 在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)  在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)  在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)   C类型            32               64     char             1     

高效判断奇偶性,利用位运算符&amp;

这种位运算判断奇偶性,在程序和数据库里面都是可以用的 public static bool isOdd(i) { return (i&1)!=0 } 最小奇数是:1   最小偶数是:0   所以,利用这个来判断最后的结果是:如果i为奇数,那么最后返回的就是true,反之是false;

转:细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系

全文主旨总结: 一:        1个汉字 = 1个字 = 1个字符 二:        1个字符 = 1个字节 = 8bit(ACSII码下) 三:        1个字符 = 2个字节 = 16bit(Unicode码下) 四:        一般在处理汉字时,会默认将 编码方式调整为Unicode码,因为这样 数据容纳范围更大,不易出现乱码. 参考资料: 网址: http://www.lovetofang.net/index.php/22.html

32位和64位下字节长度

32位: char  1字节 short 2字节 int     4字节 long   4字节 指针   4字节 64位: char  1字节 short 2字节 int     4字节 long   8字节 指针   8字节

转 32位64位操作系统基本数据类型字节大小

http://blog.csdn.net/huyisu/article/details/17604983 int型字长问题: ① C/C++规定int字长和机器字长相同: ② 操作系统字长和机器字长未必一致: ③ 编译器根据操作系统字长来定义int字长: 由上面三点可知,在一些没有操作系统的嵌入式计算机系统上,int的长度与处理器字长一致:有操作 系统时,操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:" 比如你在64位机器上运行DOS16系统,那么所有fo

32位64位操作系统基本数据类型字节大小

nt型字长问题: ① C/C++规定int字长和机器字长相同: ② 操作系统字长和机器字长未必一致: ③ 编译器根据操作系统字长来定义int字长: 由上面三点可知,在一些没有操作系统的嵌入式计算机系统上,int的长度与处理器字长一致:有操作 系统时,操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:" 比如你在64位机器上运行DOS16系统,那么所有for dos16的C/C++编译器中int都是16位的;在64位机器上 运行win32系统,那么所有for w