void ToBinary(int n) { if (n / 2 != 0) { ToBinary(n / 2); } PublicBinary.push_back(n % 2); //printf("%d", n % 2); }
std::vector<int> ToGamma(int n){ // Gamma = A*B ToBinary(n); int BinarySize = PublicBinary.size(); std::vector<int> A = ToUnary(BinarySize); std::vector<int> B = PublicBinary; // Le quitamos el bit significativo B.erase(B.begin()); std::vector<int> gamma = A; gamma.insert(gamma.end(), B.begin(), B.end()); return gamma; }
void JSONValue::ToBinary(Stream& dest) const { dest.Write((unsigned char)type); switch (type) { case JSON_BOOL: dest.Write(data.boolValue); break; case JSON_NUMBER: dest.Write(data.numberValue); break; case JSON_STRING: dest.Write(GetString()); break; case JSON_ARRAY: { const JSONArray& array = GetArray(); dest.WriteVLE(array.Size()); for (auto it = array.Begin(); it != array.End(); ++it) it->ToBinary(dest); } break; case JSON_OBJECT: { const JSONObject& object = GetObject(); dest.WriteVLE(object.Size()); for (auto it = object.Begin(); it != object.End(); ++it) { dest.Write(it->first); it->second.ToBinary(dest); } } break; default: break; } }