|
|
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
Я кстати посмотрел те функции к примеру на asm, там люди не сделали твою ошибку. В принципе как и Я не сделал в своём коде, от чего и умилялся в различие знаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:26 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
Но самый быстрый способ это по 8 байт shl-ээлить. А не по каждому байту в отдельности в целом, компоновкой. Ибо быстрее Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:27 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, то есть to_num(ar, 1, 7) или to_num(ar, 100500, 100507) вернет ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:27 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Да,вернёт ошибку. Ибо элементы будут неверно подсчитаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:28 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, не верно подсчитаны? у меня индекс К , а не i, j ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:32 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:35 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Да как же ты не понимаешь? Вот тебе пример, который наглядно демонстрирует ошибку Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Выведет в консоль Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:35 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, ять, у тебя параметры (9, 2) с чего? по моей логике должно быть (9, 10). Ты понимаешь под вторым параметром len, а я последний индекс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:38 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, У нас есть массив [ 1 = 8, 2 = 5, 2 = 2, 3 = 7, 4 = 9, 5 = 2, 6 = 7, 7 = 9, 8 = 2, 9 = 5, 10 = 8, 11 = 5, 12 = 6, 13 = 7, 14 = 8, 15 = 1 ] По этому 9 и 2 это будет 5, 8, 5 что в итоге = 329733 о чём нам и говорит вызов Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:40 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, 9 и 2 быть не может, т.к. после 9 идут числа 10, 11, 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:44 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Ты знаешь что такое индексы ? arr[9] + 2 элемента. В итоге будет 3 элемента которые = 329733 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:46 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
Вот тебе хороший пример как это должно работать http://www.delphibasics.ru/Move.php Точно так - же 100% Есть источник(Массив), есть начальная позиция в массиве, и есть количество байт которые мы должны подсчитать из массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:48 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, откуда мне о индексах знать то. Блин, я ему про Фому, а он мне про Ерему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:49 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
Троль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:52 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Почитай как работать с массивами, и вообще как работает память. Начальный индекс, это начала массива. Он 0. А значит конец индекса байтового массива, это максимальная длина его ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:53 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Вот тебе хороший пример как это должно работать http://www.delphibasics.ru/Move.php Точно так - же 100% Есть источник(Массив), есть начальная позиция в массиве, и есть количество байт которые мы должны подсчитать из массива Я определяю кол-во байт, как начальная позиция, например [10] и конечная, например [17]. Итого 8 байт. 64 бита. UInt64. и в мою функцию если передать to_num(arr, 10, 17), то она вернет правильное значение твоя функция to_num_fix(arr, 10, 8), тоже вернет правильное значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:55 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный cptngrb, Почитай как работать с массивами, и вообще как работает память. Начальный индекс, это начала массива. Он 0. А значит конец индекса байтового массива, это максимальная длина его это трындец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:57 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb to_num(arr, 10, 17) Неверно, ты должен передать 18 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Зачем вообще передавать 18??? Если у тебя уже определена начальная позиция массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 18:58 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Ты мне лучше скажи. Ты вообще собираешься считать от позиции X больше 8 байтов ? Или нет. Это вообще всех волнует в топике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:00 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный cptngrb to_num(arr, 10, 17) Неверно, ты должен передать 18 а вот и нет ВсеРазумный Зачем вообще передавать 18??? Если у тебя уже определена начальная позиция массива. потому что могу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:01 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
это в какое такое я число смогу считать больше 8 байт? Ответ: нет, на большее я не замахнусь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:02 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb ВсеРазумный пропущено... Неверно, ты должен передать 18 а вот и нет А вот и да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:03 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb это в какое такое я число смогу считать больше 8 байт? Ответ: нет, на большее я не замахнусь) СПАСИИИБО Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Держи и пользуйся, функция которую я привёл в сообщение 22084968 Ибо пару сообщений назад меня уверяли что ты собираешься считать больше 8 байтов 22084564 А так же до этого другие люди подумали так 22084394 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:05 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, а вот и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:06 |
|
||
|
Ускорить функцию перевода массива байт в число
|
|||
|---|---|---|---|
|
#18+
cptngrb, Короче, вот пример Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. Работает без циклов и так далее. Самая быстрая функция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2020, 19:13 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39929816&tid=2038559]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 489ms |

| 0 / 0 |
