Advertisement
Guest User

Untitled

a guest
Apr 20th, 2014
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. func ShiftLeft(b []byte) []byte {
  2. l := len(b)
  3. if l == 0 {
  4. panic("shiftLeft requires a non-empty buffer.")
  5. }
  6.  
  7. output := make([]byte, l)
  8.  
  9. overflow := byte(0)
  10. for i := int(l - 1); i >= 0; i-- {
  11. output[i] = b[i] << 1
  12. output[i] |= overflow
  13. overflow = (b[i] & 0x80) >> 7
  14. }
  15.  
  16. return output
  17. }
  18.  
  19. function makeEmpty(size) {
  20.  
  21.  
  22. var result = [];
  23.  
  24. for (var i = 0; i < size; i++) {
  25. result.push(0x00);
  26. }
  27.  
  28. return result;
  29.  
  30. }
  31.  
  32. function shiftLeft (b) {
  33.  
  34. var len = b.length;
  35.  
  36. if (len == 0) {
  37. throw 'shiftLeft requires a non-empty buffer';
  38. }
  39.  
  40. var output = makeEmpty(len);
  41.  
  42. var overflow = 0;
  43.  
  44. for (var i = len - 1; i >= 0; i--) {
  45. output[i] = b[i] << 1;
  46. output[i] |= overflow;
  47. overflow = (b[i] & 0x80) >> 7;
  48. }
  49.  
  50. return output;
  51.  
  52. }
  53.  
  54. function fromOctal(str) {
  55.  
  56. var bytes = [parseInt(str, 2)];
  57.  
  58. return bytes;
  59.  
  60. }
  61.  
  62. console.log(shiftLeft(fromOctal("10000000"))
  63.  
  64. output[i] = b[i] << 1;
  65.  
  66. output[i] = (b[i] << 1) & 0xFF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement