📄 nrm_ext.c
字号:
/* (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands. See the copyright notice in the ACK home directory, in the file "Copyright".*//* $Header: nrm_ext.c,v 1.5 93/01/05 12:06:11 ceriel Exp $ *//********************************************************//* NORMALIZE an EXTENDED FORMAT NUMBER*//********************************************************/#include "FP_shift.h"#include "FP_types.h"voidnrm_ext(e1)EXTEND *e1;{ /* we assume that the mantissa != 0 */ /* if it is then just return */ /* to let it be a problem elsewhere */ /* THAT IS, The exponent is not set to */ /* zero. If we don't test here an */ /* infinite loop is generated when */ /* mantissa is zero */ if ((e1->m1 | e1->m2) == 0L) return; /* if top word is zero mov low word */ /* to top word, adjust exponent value */ if (e1->m1 == 0L) { e1->m1 = e1->m2; e1->m2 = 0L; e1->exp -= 32; } if ((e1->m1 & NORMBIT) == 0) { unsigned long l = ((unsigned long)NORMBIT >> 1); int cnt = -1; while (! (l & e1->m1)) { l >>= 1; cnt--; } e1->exp += cnt; b64_sft(&(e1->mantissa), cnt); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -