Сейчас на форуме: Kybyx (+3 невидимых)

 eXeL@B —› Оффтоп —› Странное округление
Посл.ответ Сообщение


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 16 июля 2015 23:48
· Личное сообщение · #1

есть длина - L, и есть количество частей - N
есть какое то странное M, где M = ( (N/2) + L ) /N

похоже на какое то окруление в большую сторону, но математческого примера в гугле не нахожу
если убрать N/2, то M = L/N будет размер одной части

вопрос, зачем там N/2 ? , и есть ли математическое объяснения этому в какой нибудь литературе ?




Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 17 июля 2015 10:19
· Личное сообщение · #2

reversecode пишет:
есть ли математическое объяснения этому в какой нибудь литературе ?


--> Link <--

-----
http://ntinfo.biz





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 июля 2015 10:31
· Личное сообщение · #3

есть округление [a+0.5], то есть +1/2
но здесь N/2 и оно явно побольше будет

похоже на какое то округление размера одной части в большую сторону




Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 17 июля 2015 10:56 · Поправил: hors
· Личное сообщение · #4

reversecode пишет:
есть округление [a+0.5], то есть +1/2
но здесь N/2 и оно явно побольше будет


Хотел было картинку с фейспалмом вставить, но с зеленым слоном в гугле не нашёл.
Что значит "здесь N/2 и оно явно побольше будет"?
А упростить свою формулу "( (N/2) + L ) /N" до "L/N+0.5" сам не можешь?

-----
http://ntinfo.biz


| Сообщение посчитали полезным: reversecode


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 июля 2015 11:02 · Поправил: reversecode
· Личное сообщение · #5

мозг устал, поэтому да, не мог

Добавлено спустя 11 минут
продолжение

есть N которое меняется с течением времени
есть таймер который работает с частотой 5000 миллисекунд
и по таймеру высчитывается K = K + (N-K) * 0.026 после чего N обнуляется

для вывода пользователю процентов используется K*0.2

предполагаю что K это какая то скорость
непонятно к чему там коэффициенты 0.026 и 0.2

| Сообщение посчитали полезным: hors


Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 17 июля 2015 11:36 · Поправил: hors
· Личное сообщение · #6

reversecode пишет:
непонятно к чему там коэффициенты 0.026 и 0.2


Почему 0.2 - понятно.

Это 1/5 от полученного значения за 5000 мс, то есть за 1000 мс(одну секунду).

0.026 тут, не зная контекста, можно только гадать.
К примеру 0.026 радиан это 1.5 градуса.

-----
http://ntinfo.biz





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 июля 2015 11:43 · Поправил: reversecode
· Личное сообщение · #7

используются байты, значит к коэффициенту 0.026 можно как то привязать число 1024

не нифига, там и кроме байт счетчиков, обычные счетчики всякие есть

Добавлено спустя 6 минут
hors пишет:
0.026 тут, не зная контекста, можно только гадать.

контекст обычный,начиная от байт счетчиков пакетов, заканчивая счетчиками подключения

в последующих версиях программы значение еще более уточнено 0.0260000005364418




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 17 июля 2015 12:53
· Личное сообщение · #8

Интересная константа, много где используется, но до 1.5 градусов ей немного не хватает. 1.5 будет 0,026179938779914943653855361527329. Где используется:

1.
--> Link <--

# Wavelength Value
....
....
3600 0.0260000005364418
....
....
5190 0.0260000005364418

2.
[TrueType]
nickname = DebugText
font = FixedSys
fixed_height = 0.0260000005364418

3.
--> Link <--
Organism Homo sapiens
Characteristics tissue: blood (buffy coat)
cod er (receptor: 1=positive 2=negative 9=unknown): NaN
cod pr (receptor: 1=positive 2=negative 9=unknown): NaN
cod her2 (receptor: 1=positive 2=negative 9=unknown): NaN
bmi: 24.1727275848389
birth: '16/04/1937'
age menarche: 14
age menopause: 46
mother bc: 0
sister with bc: 0
age 1 b: 23
insulin: 4
sex hormone binding protein: 103.719223022461
insulin growth factor 1: 110
e2_orion: 0.0260000005364418

-----
IZ.RU


| Сообщение посчитали полезным: hors


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 июля 2015 13:04 · Поправил: reversecode
· Личное сообщение · #9

гуглить я умею
но константа ориона здесь как то не к месту
N которое меняется с течением времени используется в разных счетчиках
самый банальный это количество подключений пользователей к серверу
была мысль что именно 0.026 как то завязано на 5000 миллисекундах
или какая то корреляция с размерностью двойного беззнакового uint, может как защита от переполнения
но выглядит это слишком натянуто




Ранг: 136.0 (ветеран), 360thx
Активность: 0.270.14
Статус: Участник
Qt Developer

Создано: 17 июля 2015 13:13 · Поправил: hors
· Личное сообщение · #10

DenCoder пишет:
но до 1.5 градусов ей немного не хватает. 1.5 будет 0,026179938779914943653855361527329


Глупости.

1.5 градуса это в радианах 1.5*(число Пи)/180.
А "число Пи" как известно является иррациональным числом. Поэтому нельзя сказать что "0.026" это неправильно,
а "0.026179938779914943653855361527329" правильно.
В обоих случая имеют место быть округления.

Добавлено спустя 1 час 3 минуты
reversecode пишет:
в последующих версиях программы значение еще более уточнено 0.0260000005364418


DenCoder пишет:
Интересная константа, много где используется


У меня уже слов нет, одни эмоции. Что за чушь вы оба несёте?

Ничего в последующих версиях не менялось. Константа осталась прежняя "0.026"

0.0260000005364418 это представление дробного числа "0.026" типа float приведенного к типу double(Ну или что-то подобное).

Вот картинка для наглядности:



-----
http://ntinfo.biz


| Сообщение посчитали полезным: DenCoder


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 17 июля 2015 16:54
· Личное сообщение · #11

никто ничего ненесет, я по твоему должен знать ноюансы приедения двух типов?
я смотрю в код
Code:
  1. .rdata:060BEE48     byte_60BEE48    db 0  
  2. .rdata:060BEE49                     db    0
  3. .rdata:060BEE4A                     db    0
  4. .rdata:060BEE4B                     db  80h ; А
  5. .rdata:060BEE4C                     db 0BEh ; -
  6. .rdata:060BEE4D                     db  9Fh ; Я
  7. .rdata:060BEE4E                     db  9Ah ; Ъ
  8. .rdata:060BEE4F                     db  3Fh ; ?
  9.  
  10.  
  11. .rdata:060BEE48     dbl_60BEE48     dq 0.0260000005364418


Code:
  1. .rodata:084CAA10     _0__0_26_dbl_84CAA10 db 39h 
  2. .rodata:084CAA11                     db 0B4h ; +
  3. .rodata:084CAA12                     db 0C8h ; L
  4. .rodata:084CAA13                     db  76h ; v
  5. .rodata:084CAA14                     db 0BEh ; -
  6. .rodata:084CAA15                     db  9Fh ; Я
  7. .rodata:084CAA16                     db  9Ah ; Ъ
  8. .rodata:084CAA17                     db  3Fh ; ?
  9.  
  10. .rodata:084CAA10     _0__0_26_dbl_84CAA10 dq 0.026


оба числа в double
меньшую часть отбросил компилятор когда приводил типы




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 10 августа 2015 17:37
· Личное сообщение · #12

есть подозрение что 0.026 участвует в расчетах DecayingCounter
--> Link <--
--> Link <--



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 12 августа 2015 19:39
· Личное сообщение · #13

не совсем в тему, гулял по нету - нашел такой сайт по вопросу "быстрой и наглядной конвертации во всё и сразу":
http://www.convert-units.info/time/second/0.026




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 10 апреля 2019 02:45
· Личное сообщение · #14

reversecode пишет:
высчитывается K = K + (N-K) * 0.026 после чего N обнуляется

https://tools.ietf.org/html/rfc3550#appendix-A.8
так считается джиттер входящих пакетов
s->jitter += (1./16.) * ((double)d - s->jitter);
правда 1/16 дает 0,0625
почему в формуле джиттера 16, помнится находил обсуждения до уровня - мы так подобрали опытным путем
но мне больше думается что это на 16 пакетов
исходя из этого можно предположить что
0.026 в моей формуле это где то ~1/38
по счетчику формулы у меня тоже тикают байты, но не только количество пакетов, но и их размер
так что откуда взялось число 0.026 или 38 остается загадка
размеры пакетов в проге очень разные


 eXeL@B —› Оффтоп —› Странное округление

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати