diff --git a/base/intfuncs.jl b/base/intfuncs.jl index c3ec78eeb31e9..2b75f09ac62e7 100644 --- a/base/intfuncs.jl +++ b/base/intfuncs.jl @@ -543,11 +543,11 @@ function bin(x::Unsigned, pad::Int, neg::Bool) i = neg + max(pad,sizeof(x)<<3-leading_zeros(x)) a = StringVector(i) while i > neg - a[i] = '0'+(x&0x1) + @inbounds a[i] = 48+(x&0x1) x >>= 1 i -= 1 end - if neg; a[1]='-'; end + if neg; @inbounds a[1]=0x2d; end String(a) end @@ -555,11 +555,11 @@ function oct(x::Unsigned, pad::Int, neg::Bool) i = neg + max(pad,div((sizeof(x)<<3)-leading_zeros(x)+2,3)) a = StringVector(i) while i > neg - a[i] = '0'+(x&0x7) + @inbounds a[i] = 48+(x&0x7) x >>= 3 i -= 1 end - if neg; a[1]='-'; end + if neg; @inbounds a[1]=0x2d; end String(a) end @@ -567,11 +567,11 @@ function dec(x::Unsigned, pad::Int, neg::Bool) i = neg + ndigits(x, base=10, pad=pad) a = StringVector(i) while i > neg - a[i] = '0'+rem(x,10) + @inbounds a[i] = 48+rem(x,10) x = oftype(x,div(x,10)) i -= 1 end - if neg; a[1]='-'; end + if neg; @inbounds a[1]=0x2d; end String(a) end @@ -580,11 +580,11 @@ function hex(x::Unsigned, pad::Int, neg::Bool) a = StringVector(i) while i > neg d = x & 0xf - a[i] = '0'+d+39*(d>9) + @inbounds a[i] = 48+d+39*(d>9) x >>= 4 i -= 1 end - if neg; a[1]='-'; end + if neg; @inbounds a[1]=0x2d; end String(a) end