12:39

«do or do not — there is no try.»
товарищи программисты или математики, кто тут есть.)

кто-нибудь может мне объяснить, почему (именно "почему") при переводе дробной части из десятичной системы счисления в какую-либо другую, дробь, после умножения на основание новой системы счисления, преобразуется в новое число, целая часть которого будет заключена в промежутке от нуля до основания новой системы счисления без единицы [0..p-1]?

жаль, если сей пост претит правилам сообщества >__>

Комментарии
10.09.2008 в 15:51

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
вопрос не понял. Любую дробь от 0 до 1 [дробную часть] если умножить на число [основание с/с], то результат будет от нуля до этого числа без единицы. Уточните проблему.
10.09.2008 в 16:41

из сарая
Это вопрос из ряда: скажите, а почему, если число разделить на пять, умножить на 1024, затем умножить на 2560, перевести в двоичную систему, умножить на 10(2) и выполнить побитовый сдвиг на десять разрядов в сторону младших разрядов, то получится то же самое число?
10.09.2008 в 16:42

Люди никогда не достигнут совершенства, пока будут оставаться людьми...
Killen, гыыы))
10.09.2008 в 18:28

«do or do not — there is no try.»
[revolver]
ну попробую уточнить.

вот есть у нас число 0.234 в десятичной. переведем в четверичную, например:

0.234*4=0.936 | 0.0
0.936*4=3.644 | 0.03

и т.д.

так вот почему всегда в целой части нового числа (здесь - 3), получается цифра в промежутке от 0 до основания новой с.с. без единицы.
я искал в учебниках, в инете. там чисто алгоритм перевода. но почему получается именно так, я не понимаю: мозг еще не так соображает.(
10.09.2008 в 19:52

из сарая
твою мать, Малфой. Потому, что это элементарно и очевидно. Дробная часть ну никак не может быть больше единицы. При умножении единицы на какое-то число, получаем это же самое число. Поэтому если умножаешь число, меньшее единице, на какое-то другое число, то и получаешь нечто меньшее, чем то, на что ты умножил.
Это же класс, эдак, пятый.