📄 cuf8.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: cuf8.c,v 1.6 93/01/05 12:04:41 ceriel Exp $ *//* CONVERT INTEGER TO FLOAT (CUF n 8) THIS ROUTINE WORKS BY FILLING AN EXTENDED WITH THE INTEGER VALUE IN EXTENDED FORMAT AND USES COMPACT() TO PUT IT INTO THE PROPER FLOATING POINT PRECISION.*/#include "FP_types.h"voidcuf8(ss,src)int ss; /* source size */long src; /* largest possible integer to convert */{ EXTEND buf; short *ipt; long i_src; zrf_ext(&buf); if (ss == sizeof(long)) { buf.exp = 31; i_src = src; } else { ipt = (short *) &src; i_src = (long) *ipt; buf.exp = 15; } if (i_src == 0) { zrf8((DOUBLE *)((void *)&ss)); return; } /* ESTABLISHED THAT src != 0 */ /* adjust exponent field */ if (ss != sizeof(long)) i_src <<= 16; /* move to mantissa field */ buf.m1 = i_src; /* adjust mantissa field */ nrm_ext(&buf); compact(&buf,(unsigned long *) (void *)&ss,8);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -