Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $Fmt::Hex = "0123456789ABCDEF";
- $Fmt::Dec = "0123456789";
- $Fmt::Oct = "01234567";
- $Fmt::Bin = "01";
- function mDecToFmt(%a,%b)
- {
- %c = "";
- %d = strLen(%b);
- if(%a < 0)
- {
- %a = -%a;
- %e = 1;
- }
- else
- %e = 0;
- if(%d <= 1)
- return "";
- while(1)
- {
- %c = getSubStr(%b,%a % %d,1) @ %c;
- %a = mFloor(%a / %d);
- if(%a < 1)
- break;
- }
- if(%e)
- %c = "-" @ %c;
- return %c;
- }
- function mFmtToDec(%c,%b)
- {
- %a = 0;
- %d = strLen(%b);
- if(getSubStr(%c,0,1) $= "-")
- {
- %c = getSubStr(%c,1,strLen(%c) - 1);
- %e = 1;
- }
- else
- %e = 0;
- if(%d <= 1)
- return "";
- for(%i = 0; %i < strLen(%c); %i++)
- {
- %f = getSubStr(%c,strLen(%c) - 1 - %i,1);
- if(strPos(%b,%f) == -1)
- return "";
- %a = %a + strPos(%b,%f) * mPow(%d,%i);
- }
- if(%e)
- %a = -%a;
- return %a;
- }
- function mFmtToFmt(%c,%b,%b2)
- {
- %a = mFmtToDec(%c,%b);
- return mDecToFmt(%a,%b);
- }
- function mDecToHex(%a)
- {
- return mDecToFmt(%a,$Fmt::Hex);
- }
- function mHexToDec(%h)
- {
- return mFmtToDec(%h,$Fmt::Hex);
- }
- function mDecToOct(%a)
- {
- return mDecToFmt(%a,$Fmt::Oct);
- }
- function mOctToDec(%i)
- {
- return mFmtToDec(%i,$Fmt::Oct);
- }
- function mDecToBin(%a)
- {
- return mDecToFmt(%a,$Fmt::Bin);
- }
- function mBinToDec(%j)
- {
- return mFmtToDec(%j,$Fmt::Bin);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement