⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nrm_ext.c

📁 操作系统源代码
💻 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 + -