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

📄 conversion.mod

📁 minix3的源代码
💻 MOD
字号:
(*  (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.  See the copyright notice in the ACK home directory, in the file "Copyright".*)(*$R-*)IMPLEMENTATION MODULE Conversions;(*  Module:	numeric-to-string conversions  Author:	Ceriel J.H. Jacobs  Version:	$Header: /cvsup/minix/src/lib/ack/libm2/Conversion.mod,v 1.1 2005/10/10 15:27:46 beng Exp $*)  PROCEDURE ConvertNum(num, len, base: CARDINAL;		       neg: BOOLEAN;		       VAR str: ARRAY OF CHAR);    VAR i: CARDINAL;	r: CARDINAL;	tmp: ARRAY [0..20] OF CHAR;    BEGIN	i := 0;	REPEAT		r := num MOD base;		num := num DIV base;		IF r <= 9 THEN			tmp[i] := CHR(r + ORD('0'));		ELSE			tmp[i] := CHR(r - 10 + ORD('A'));		END;		INC(i);	UNTIL num = 0;	IF neg THEN		tmp[i] := '-';		INC(i)	END;	IF len > HIGH(str) + 1 THEN len := HIGH(str) + 1; END;	IF i > HIGH(str) + 1 THEN i := HIGH(str) + 1; END;	r := 0;	WHILE len > i DO str[r] := ' '; INC(r); DEC(len); END;	WHILE i > 0 DO str[r] := tmp[i-1]; DEC(i); INC(r); END;	WHILE r <= HIGH(str) DO		str[r] := 0C;		INC(r);	END;    END ConvertNum;  PROCEDURE ConvertOctal(num, len: CARDINAL; VAR str: ARRAY OF CHAR);  BEGIN   	ConvertNum(num, len, 8, FALSE, str);  END ConvertOctal;     PROCEDURE ConvertHex(num, len: CARDINAL; VAR str: ARRAY OF CHAR);  BEGIN   	ConvertNum(num, len, 16, FALSE, str);  END ConvertHex;     PROCEDURE ConvertCardinal(num, len: CARDINAL; VAR str: ARRAY OF CHAR);     BEGIN   	ConvertNum(num, len, 10, FALSE, str);  END ConvertCardinal;     PROCEDURE ConvertInteger(num: INTEGER;			   len: CARDINAL;                              VAR str: ARRAY OF CHAR);   BEGIN 	IF (num < 0) AND (num >= -MAX(INTEGER)) THEN		ConvertNum(-num, len, 10, TRUE, str);	ELSE		ConvertNum(CARDINAL(num), len, 10, num < 0, str);	END;  END ConvertInteger; END Conversions.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -