- 论坛徽章:
- 0
|
再结构struct acct 之前定义了
- typedef u_short comp_t; /*3_bit base 8 exponent;13_bit fracion*/
复制代码
然后是一个函数
- static unsigned long
- compt2ulong(comp_t comptime) /* convert comp_t to unsigned long */
- {
- unsigned long val;
- int exp;
- val = comptime &0x1fff; /* 13-bit fraction */
- exp = (comptime >> 13) & 7; /* 3-bit exponent (0-7) */
- while (exp-- > 0)
- val *= 8;
- return(val);
- }
复制代码
请问:类型转换中的"与""右移"," 13-bit fraction " ,"3-bit exponent (0-7) "都是什么意思?
帮忙解释下这个程序.
是不是16bit的short中有3位是指数,其他的13位是底数.
然后将comptime与1fff"与"运算,得到他的低13位数据.
之后找到他的3位指数位.放到exp中
为什么再exp中减去1,val就左移3位呢?思考.
[ 本帖最后由 dianlongliu 于 2008-6-22 07:37 编辑 ] |
|