在计算机中,数值的二进制表示方法主要有:原码、反码和补码。通常取最高位为符号位,0表示正数,1表示负数。正数的原码、反码、补码一样。而负数的原码最高位取1,数值位取负数绝对值的二进制值;反码的符号位为1,其余位取反;补码的符号位为1,其余位取反加1。
在32位计算机中,有符号字符型变量的取值范围是-27 ~ 27-1,有符号整型变量的取值范围是-215~ 215-1,如果将有符号整型变量赋给有符号字符型变量,则高位被截断,保留低八位。...
分类:
其他好文 时间:
2014-08-11 00:27:21
阅读次数:
237
本系列以V1.4.1为蓝本。
在此版本中,内存分配分为:普通和内存池两种。
本篇介绍普通的内存分配,所有的函数在文件mem.c(本小结介绍的是L496-L518)。
1. 声明变量
(1) 内存大小变量
mem_size_t ptr, ptr2; 声明两个16位的无符号整型变量。
...
分类:
其他好文 时间:
2014-07-13 16:39:22
阅读次数:
227
整型的封装typedef intptr_t ngx_int _t;//有符号整型typedef uintptr_t ngx_uint_t;//无符号整型字符串的封装typedef struct{ size_t len; u_char *data; }ngx_str_t;链表容器...
分类:
其他好文 时间:
2014-07-05 20:55:25
阅读次数:
252
由于C/C++
无符号整型int四字节大小,而JAVA只有有符号int,所以JAVA中的int不可以直接接收C/C++无符号整型int,需要用long来接收。但是用long来接收的话字符序列需要转换,高低位互换,可以用JDK里面Integer的reverseBytes()方法来进行互换:Intege...
分类:
编程语言 时间:
2014-06-06 21:12:04
阅读次数:
349
题目:求二进制数中 1 的个数
对于一个字节(8bit)的无符号整型变量,求其二进制表示中“1”的个数,要求算法的执行效率尽可能地高。 解法一:移位->判断->累计
解法二:除2->判断->累计 解法三:v &= (v -1)需要掌握 int num = 0;while(v){ v &= (v
-1...
分类:
其他好文 时间:
2014-05-20 10:59:55
阅读次数:
269