Advertisement
Freack100

Binary API for CC [COMPRESSED]

Apr 3rd, 2015
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.65 KB | None | 0 0
  1. local function split(str,reg)local tbl={}for match in string.gmatch(str,reg)do
  2. table.insert(tbl,match)end
  3. return tbl
  4. end
  5. function fillString(bin,length)local output=bin
  6. while#bin<length do
  7. table.insert(bin,"0000000")end
  8. return output
  9. end
  10. function fillChar(bin)local c=bin
  11. if(#c~=7)then
  12. while#c~=7do
  13. c="0"..c
  14. end
  15. end
  16. return c
  17. end
  18. function numberToBinary(number)local s=""repeat
  19. local remainder=number%2s=remainder..s
  20. number=(number-remainder)/2until number==0return s
  21. end
  22. function binaryToNumber(bin)return tonumber(bin,2)end
  23. function charToBinary(ch)return numberToBinary(string.byte(string.sub(ch,1,1)))end
  24. function binaryToChar(bin)return string.char(binaryToNumber(bin))end
  25. function stringToBinary(str)local tbl={}for char in string.gmatch(str,".")do
  26. tbl[#tbl+1]=charToBinary(char)end
  27. return tbl
  28. end
  29. function binaryToString(bin)str=""for k,v in pairs(bin)do
  30. str=str..binaryToChar(v)end
  31. return str
  32. end
  33. function bnot(bin)local bin=split(bin,".")local output=""for k,v in pairs(bin)do
  34. output=output..(v=="1"and"0"or"1")end
  35. return output
  36. end
  37. function bor(first,second)local f,s=split(first,"."),split(second,".")local output=""if(#first~=#second)then error("binaries are not of the same length")end
  38. for i=1,#first do
  39. output=output..((f[i]=="1"or s[i]=="1")and"1"or"0")end
  40. return output
  41. end
  42. function band(first,second)local f,s=split(first,"."),split(second,".")local output=""if(#first~=#second)then error("binaries are not of the same length")end
  43. for i=1,#first do
  44. output=output..((f[i]=="1"and s[i]=="1")and"1"or"0")end
  45. return output
  46. end
  47. function bxand(first,second)local f,s=split(first,"."),split(second,".")local output=""if(#first~=#second)then error("binaries are not of the same length")end
  48. for i=1,#first do
  49. output=output..((f[i]==s[i])and"1"or"0")end
  50. return output
  51. end
  52. function bxor(first,second)local f,s=split(first,"."),split(second,".")local output=""if(#first~=#second)then error("binaries are not of the same length")end
  53. for i=1,#first do
  54. output=output..((f[i]~=s[i])and"1"or"0")end
  55. return output
  56. end
  57. function btnot(bin)local output={}for k,v in pairs(bin)do
  58. table.insert(output,bnot(v))end
  59. return output
  60. end
  61. function btor(first,second)local output={}for k,v in pairs(first)do
  62. table.insert(output,bor(v,second[k]))end
  63. return output
  64. end
  65. function btand(first,second)local output={}for k,v in pairs(first)do
  66. table.insert(output,band(v,second[k]))end
  67. return output
  68. end
  69. function btxand(first,second)local output={}for k,v in pairs(first)do
  70. table.insert(outp,bxand(v,second[k]))end
  71. return output
  72. end
  73. function btxor(first,second)local output={}for k,v in pairs(first)do
  74. table.insert(output,bxor(v,second[k]))end
  75. return output
  76. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement