irbit1.cpp

来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 30 行

CPP
30
字号
static int irbit1(int& iseed)
{
	int ib1,ib3,ib5,ib14,newbit,temp;
    ib1 = 1;
    ib3 = 4; 
	ib5 = 16;
	ib14 = 8192;
    newbit = -((iseed & ib14 )!=0);
    if ((iseed & ib5) != 0) 
		newbit =~ newbit;
    if ((iseed & ib3) != 0)
		newbit =~ newbit;
    if ((iseed & ib1) != 0) 
		newbit =~ newbit;
    if (iseed > int(pow(2 ,14)))   
		iseed = iseed - int(pow(2 ,14));
    iseed = 2 * iseed;
    if (newbit)
	{
        temp=1;
        iseed = (iseed | ib1);
	}
    else
	{
        temp=0;
        iseed = (iseed & (~ib1));
    }
	return temp;
}

⌨️ 快捷键说明

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