public static void TransformBit144toBit80Array(BitArray recevBit) { BitArray historyRequest = new BitArray(80, false); for (int i = 0; i < historyRequest.Length; i++) { historyRequest[i] = recevBit[i]; } FeedbackMessage.SendHistory(historyRequest); }
//public static long result_value; public static void Calculation(int[] val_1, int[] val_2, BitArray bitArray /* odebrany BIArray*/) { if (bitArray[0] == false && bitArray[1] == true && bitArray[2] == false && bitArray[3] == false && bitArray[4] == false && val_2[0] == 0) { sendingErrorAboutDivisionByZero(bitArray); } else { long result_value = 0; SessionClass.session(bitArray); //Nadanie sesji if (bitArray[2] == false && bitArray[3] == false && bitArray[4] == false) //Operacje + - * / { if (bitArray[0] == false && bitArray[1] == false) { result_value = multiOperation(val_1[0], val_2[0]); } else if (bitArray[0] == false && bitArray[1] == true) { result_value = diviOperation(val_1[0], val_2[0]); } else if (bitArray[0] == true && bitArray[1] == false) { result_value = addOperation(val_1[0], val_2[0]); } else if (bitArray[0] == true && bitArray[1] == true) { result_value = subOperation(val_1[0], val_2[0]); if (val_1[0] < val_2[0]) { bitArray[3] = true; } } } else if (bitArray[2] == false && bitArray[3] == false && bitArray[4] == true) //Silnia { result_value = factorialOperation(val_1[0]); } if (result_value < 0) { result_value *= -1; bitArray[4] = true; } else if (result_value > int.MaxValue && (bitArray[0] == false && bitArray[1] == false || bitArray[0] == true && bitArray[1] == false)) { bitArray[2] = true; bitArray[3] = true; bitArray[4] = true; result_value = 0; } FeedbackMessage.feedback((int)result_value, bitArray); } }