mptoi.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 47 行

C
47
字号
#include "os.h"#include <mp.h>#include "dat.h"/* *  this code assumes that mpdigit is at least as *  big as an int. */mpint*itomp(int i, mpint *b){	if(b == nil)		b = mpnew(0);	mpassign(mpzero, b);	if(i != 0)		b->top = 1;	if(i < 0){		b->sign = -1;		*b->p = -i;	} else		*b->p = i;	return b;}intmptoi(mpint *b){	uint x;	if(b->top==0)		return 0;	x = *b->p;	if(b->sign > 0){		if(b->top > 1 || (x > MAXINT))			x = (int)MAXINT;		else			x = (int)x;	} else {		if(b->top > 1 || x > MAXINT+1)			x = (int)MININT;		else			x = -(int)x;	}	return x;}

⌨️ 快捷键说明

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