Кресты / Говнокод #9603 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
static std::string printFloatNumber(float num,bool friendly=false)
{
	std::ostringstream out ;

	if(friendly)
	{
		char tmp[100] ;
		std::string units[4] = { "B/s","KB/s","MB/s","GB/s" } ;

		int k=0 ;
		while(num >= 800.0f && k<5)
			num /= 1024.0f,++k;

		sprintf(tmp,"%3.2f %s",num,units[k].c_str()) ;
		return std::string(tmp) ;
	}
	else
	{
		out << num ;
		return out.str() ;
	}
}

Исходники RetroShare - это просто шедевр!

Запостил: rat4 rat4, (Updated )

Комментарии (11) RSS

    • Название функции, смесь си и плюсовых строк, магические числа...
      Ответить
    • ... создаётся ostringstream, даже когда он не используется; делят на 1024 и используют десятичные приставки
      Ответить
  • К слову, после while-а K может быть равно 4 и 5 и, соответственно, выйти за границу units.
    Ответить
  • щ(QN"L)C,OQ$B:C:Q"M?O C?Z,M?H?S!X$S U(PU V.I)I$C)F?E(C B(Y,Q.J?M.A"Y$U,K:E:G"P?S"KD A)C(PD"TH.Y)W R I"H"J$Z:T(S:L,Q F.Y"Y,V$O,Z.B$M(FR"R.T:W$J?A.F.H"J C,X"P)I H)PS.LE D)Q(F G?KR,B,EB(C?AW O)K,OL"XC(G?B$W)J R$E,K$X:AR)F"W$J)S$A.K:Y.E:L!P)GO(A:U$C(X(T$P"N Z:B H.W)R)T.E(B$W,CX,C U)N!S$K?K"R(A:VL!C!R:O.N?GT:O(O D)D.W?B"Y$R U(U$Z:R(H.V,K,F:U!T:X P M,B,Y!N)I"O)N:G?I Y(DX!E:V?C$B?Q$S!R Q"A.I$Z B:K,C"R(E W.D?X:S"J)D$D!H!B,H$U:O"O.S(U I X)J:W,J!U.O(X?V(Y$O,F B"T(F!O.B$H,K B.T,O"R,U!N(VRB(M!H B)I$D(H!O:R$Q,J,U)G!XC)N?K$K.W.P(J!O Q F$Q$P!I?CP$S"C,J?J!AZ?T)N,GM"C(X$N.C?Y"O(H"P!A(A?N:R)E!JY"WЪPGERKBGZXFATLUYOTEXURKYMDQJZUDDJNGLQBVCIDZFQMKOFQXMGPVZYDUWSRTTROGUTPTZTLGNYNOIYYYRLUWIISSKGLQAHSDEHVEUIPGGTIYYGUFKJVQHXEPGCGYHQXFJJCIEFUBKPVNVYPBJBHGUSBBETSOEFAYHMOKNZFKNRRFPHVKAVZOVRMIEQMJUVKKXUQDXFTCEXQHYNNPQCMRCHWAEIPHKCHCTEVBYXKHAEZASTOYJ
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8