LINUX.ORG.RU
ФорумTalks

Почему математики не придумали проценты 1000%=целое


0

2

В информатике для целочисленных величин удобно использовать проценты типа 100%=целое для небольших чисел и проценты типа 1000%=целое для чисел побольше. Почему в математике ничего такого полезного нету?

★★★★★
Ответ на: комментарий от Deleted

Идеальный и единственный трушный способ - [0;1].

Ну это как в анекдоте: вероятность встретить на улице динозавра 50% - или встретишь(1) или нет(0).

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Допустим есть вероятность в Х процентов что генератор случайных чисел выдаст 1 а не 0.

Про то что вероятности принято измерять в промиллях впервые узнал здесь, на лоре:)

я тоже. Всю жизнь думал, что математики считают вероятности в долях единицы, и для ламеров переводят в проценты, ибо ламеры не врубаются в вероятность 0.6784 (а 68% понимают).

drBatty ★★
()
Ответ на: комментарий от Deleted

А для целых побольше (если в них есть нужда) есть gmp.

с разморозкой - с прошлого века существует SSE.

drBatty ★★
()
Ответ на: комментарий от drBatty

я тоже. Всю жизнь думал, что математики считают вероятности в долях единицы, и для ламеров переводят в проценты, ибо ламеры не врубаются в вероятность 0.6784 (а 68% понимают).

Это если математики считают на счётах или бумажке а если на двоичной вычислительной технике то целочисленные байты специально для ламеров конвертируются в десятичные дроби.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Побуду кэпом

Нет. [0;1] обозначает множество таких чисел, которые больше или равны нулю и при этом меньше или равно 1.

Deleted
()
Ответ на: комментарий от Napilnik

Это если математики считают на счётах или бумажке а если на двоичной вычислительной технике то целочисленные байты специально для ламеров конвертируются в десятичные дроби.

причём тут байты? ресь о диапазоне 0..1, как он выражен - никого не волнует. Хоть в троично-шестеричной системе.

drBatty ★★
()
Ответ на: комментарий от Deleted

, по умолчанию там типы как у 16 битного компилятора.

У фрипаскаля - да. У си - нет.

И где же у си по умолчанию аналог int64?

Napilnik ★★★★★
() автор топика
Ответ на: Побуду кэпом от Deleted

Побуду кэпом
Нет. [0;1] обозначает множество таких чисел, которые больше или равны нулю и при этом меньше или равно 1.

Извини подвинься, ты записал 2 однобайтовых числа а аппаратные половинки, четвертушки, осьмушки битов в цифровой технике отсутствуют. Где же ты спрятал в двух байтах множество чисел?

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от drBatty

причём тут байты?

Цифровая техника думает байтами.

ресь о диапазоне 0..1, как он выражен - никого не волнует. Хоть в троично-шестеричной системе.

Пока ты пишешь на бумажке, палочкой на песке или в математическом пакете не волнует, в других случаях на компьютере это волнует, ага. Киборгам нужна целочисленная вероятность!

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Цифровая техника думает байтами.

снег белый.

Пока ты пишешь на бумажке, палочкой на песке или в математическом пакете не волнует, в других случаях на компьютере это волнует, ага. Киборгам нужна целочисленная вероятность!

ты бредишь. Какие киборги? Иди лучше проспись.

drBatty ★★
()
Ответ на: комментарий от drBatty

ты бредишь. Какие киборги? Иди лучше проспись.

Говори по существу и логично или сливайся.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от drBatty

int64_t вполне себе стандартный.

//#include <inttypes.h>

int64_t zz;

int main ()
{
zz=3222222222221;
printf ("%10"PRId64"\n", zz);  
}
$ gcc int64.c
int64.c:3:1: ошибка: unknown type name «int64_t»
Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Говори по существу и логично

Киборгам нужна целочисленная вероятность!

тебе под веществами всё равно не понять. Либо я выпью, либо ты проспишься.

drBatty ★★
()
Ответ на: комментарий от drBatty

тебе под веществами всё равно не понять. Либо я выпью, либо ты проспишься.

Гуманитарий, иди на форум кошатников/лягушатников и учи тамошних обитателей употреблению веществ и образу мышления.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

аппаратные половинки, четвертушки, осьмушки битов

Для тебя это будет открытием, но в двоичной системе дробные числа записываются именно как половинки, четвертушки и осьвушки. ☺

beastie ★★★★★
()
Ответ на: комментарий от Trieforce

Ты не поверишь, было интересно узнать почему с такой очевидной штукой раньше не сталкивался а если она существует то как по научному называется и вдруг понабижали.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от beastie

Для тебя это будет открытием, но в двоичной системе дробные числа записываются именно как половинки, четвертушки и осьвушки. ☺

Но не в один же бит вся эта куча мелочи.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Но не в один же бит вся эта куча мелочи.

обычно не в один. Открой для себя формат с фиксированной точкой. К примеру одним байтом можно записать число, не равное нулю, от 1/256 до 255/256 включительно. Именно так и записываются дробные числа. А вот сотых, извини, я как-то не встречал.

drBatty ★★
()
Ответ на: комментарий от drBatty

C99 7.18.1.1 читай до полного просветления.

Может мне ещё полное собрание братьев Стругацких прочитать? Без реализации фентезийные стандарты малополезны.

обычно не в один. Открой для себя формат с фиксированной точкой. К примеру одним байтом можно записать число, не равное нулю, от 1/256 до 255/256 включительно. Именно так и записываются дробные числа.

Как познавательно ты поведал об использовании целочисленных величин в компьютерах.

А вот сотых, извини, я как-то не встречал.

Не извиняйся.

var
A: double;

begin
A:=9999999.01;
writeln(A);
end.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Может мне ещё полное собрание братьев Стругацких прочитать? Без реализации фентезийные стандарты малополезны.

слушай, я сказал СТАНДАРТНЫЕ. Если тебе не нравится стандарт C - иди погуляй. К лисперам или там к паскалистам. К тому-же, я тебе указал точное место в стандарте, причём тут «полное собрание»?

Как познавательно ты поведал об использовании целочисленных величин в компьютерах.

если для тебя 1/256 это «целочисленное», то тебе точно нужно проспаться.

Не извиняйся.

не буду. Внутри компьютера это НЕ сотые. Они являются сотыми только в твоём исходнике.

drBatty ★★
()
Ответ на: комментарий от drBatty

слушай, я сказал СТАНДАРТНЫЕ. Если тебе не нравится стандарт C - иди погуляй. К лисперам или там к паскалистам.

По твоим словам получается что GCC не поддерживающий стандарты маргинальный компилятор?

не буду. Внутри компьютера это НЕ сотые. Они являются сотыми только в твоём исходнике.

Подели 10 на 3 и посмотри какие это не сотые. Жги дальше.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

По твоим словам получается что GCC не поддерживающий стандарты маргинальный компилятор?

мой поддерживает.

Подели 10 на 3 и посмотри какие это не сотые. Жги дальше.

получается примерно 11.010101010101010101010101010101010 (в двоичной системе). А где ты увидел сотые?

drBatty ★★
()
Ответ на: комментарий от drBatty

мой поддерживает.

И вышеприведённый код компилит без ошибки? Мой, федоровский, не компилит.

получается примерно 11.010101010101010101010101010101010 (в двоичной системе). А где ты увидел сотые?

А ты их не видишь? 3 целые, 3 десятые, 3 сотые, 3 тысячные и так далее.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

По твоим словам получается что GCC не поддерживающий стандарты маргинальный компилятор?

GCC поддерживает C99. Осиль -std=c99

Deleted
()
Ответ на: комментарий от Napilnik

И вышеприведённый код компилит без ошибки? Мой, федоровский, не компилит.

нужно заincludeить хидер. Это тоже есть в стандарте.

11.010101010101010101010101010101010

А ты их не видишь? 3 целые, 3 десятые, 3 сотые, 3 тысячные и так далее.

разговор окончен. тут 2+1+1/4+1/16+1/64+1/256+... (3.33203125 в десятичной, если остановится на 1/256. Проверь на калькуляторе.)

drBatty ★★
()
Ответ на: комментарий от Deleted

int64_t и uint64_t - уже не помню, в C99

в C99, точное место см. выше.

drBatty ★★
()

Потому что «цент» - это одна сотая, блжад.

yvv ★★☆
()
Ответ на: комментарий от Eddy_Em

Это матан. Алгебра изучает всякие матрицы-шматрицы.

матан - это дифференциальное и интегральное счисления. матрицы - объект изучения линейной алгебры

jtootf ★★★★★
()
Ответ на: комментарий от drBatty

потому, что математика (наверное ты про алгебру?) ЧИСЛА НЕ ИЗУЧАЕТ

какое интересное утверждение. почему именно алгебра? почему не изучает? вот алгебраическая теория чисел, например, это получается оксюморон что ли?

В арифметике тоже такого нет, потому-что там числа ЛЮБЫЕ

для не любых чисел в арифметике даже термин придумали

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

какое интересное утверждение.

на самом деле, ЧИСЛА _изучает_ только одна «наука»: http://ru.wikipedia.org/wiki/Нумерология

Ну а математика изучает не сами числа, а свойства ВЕЛИЧИН, которые _могут быть_ выражены числами. И то не всегда могут быть.

drBatty ★★
()
Ответ на: комментарий от drBatty

на самом деле

нумерология - не наука

математика изучает не сами числа, а свойства ВЕЛИЧИН, которые _могут быть_ выражены числами

а, скажем, конечные ординалы - это что за величина? числа Пеано? сечения Дедекинда?

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

нумерология - не наука

угу. Но только она изучает какие-то сакральные свойства числа скажем 666.

а, скажем, конечные ординалы - это что за величина? числа Пеано? сечения Дедекинда?

ну а эти величины конкретным числом выразить невозможно.

drBatty ★★
()
Ответ на: комментарий от drBatty

только она изучает какие-то сакральные свойства числа скажем 666

а так же, видимо, чисел e, π и константы Рамануджана. должен же хоть кто-то изучать их свойства (хотя бы сакральные)

ну а эти величины конкретным числом выразить невозможно

т.е. формализмы чисел (натуральных и вещественных) - это величины, невыразимые в числах? это, пожалуй, слишком глубоко для меня

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

хватит уже спорить, ТС просто слишком много шишек скурил, и решил, что комп это киборг, который только целые числа знает. А если дробные, то проценты. А я ему пытался объяснить, что вероятность процентами не выразить, это _любая_ точка на отрезке 0..1. И их бесконечно много. А не 100 или 1000. Потому и процентов никаких нет.

т.е. формализмы чисел (натуральных и вещественных) - это величины, невыразимые в числах? это, пожалуй, слишком глубоко для меня

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

drBatty ★★
()
Ответ на: комментарий от Deleted

GCC поддерживает C99. Осиль -std=c99

Воти не надо лохотрона, если компилятор понимает новые языковые С фичи только с паметром -std=c99 то это значит что у С появился _новый_диалект_. Компилятор паскаля тоже так умеет: прописываешь диалект языка в коде или опции сборки и собираешь. Стало быть с стандартном С как не было этой фичи так и нет и не будет до тех пор, пока не будет сборки без дополнительных опций.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Нет. Я записал отрезок. Чисто математическое понятие.

Если я работаю с байтами, то мне до лампочки на математические понятия (математика склонна оперировать числами в идеальных условиях которые в компьютере ещё надо создать) и если можно обойтись без лишних конвертаций целочисленное-->реальное-->целочисленное то так и надо делать.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от drBatty

разговор окончен. тут 2+1+1/4+1/16+1/64+1/256+... (3.33203125 в десятичной, если остановится на 1/256. Проверь на калькуляторе.)

Мне было изначально в лом было пересчитывать твою писанину, но если ты не осилил так поделить 2 небольших целых чтобы не испортить тысячные доли, то ты такой ССЗБ что будет лучше без твоих замечательных советов.

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от drBatty

хватит уже спорить, ТС просто слишком много шишек скурил, и решил, что комп это киборг, который только целые числа знает. А если дробные, то проценты. А я ему пытался объяснить, что вероятность процентами не выразить, это _любая_ точка на отрезке 0..1. И их бесконечно много. А не 100 или 1000. Потому и процентов никаких нет.

Когда тебя отпустит, заходи, экстрасенс наш доморощенный. Если можешь так хорошо предсказывать, то почему ещё не разбогател на лотереях?

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

Да кому в этой теме кроме тебя понятия математики _очень_ важны? Есть задача выражаемая процентами/промиллями и необходимо чтобы всё работало и понималось, если будет надо, то и на 0 придётся поделить. Напоследок, чтобы тебя сплющило надолго, при вычислениях внутри компьютера результат сложения может зависеть от скорости сложения - обнаружено экспериментально при многопоточности;)

Napilnik ★★★★★
() автор топика
Ответ на: комментарий от Napilnik

Мне было изначально в лом было пересчитывать твою писанину

$ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
2+1+1/4+1/16+1/64+1/256
3.33203125000000000000

неужели сложно?

но если ты не осилил так поделить 2 небольших целых чтобы не испортить тысячные доли, то ты такой ССЗБ что будет лучше без твоих замечательных советов.

в двоичной системе это возможно только если знаменатель - степень двойки. Иначе получается бесконечная дробь. Учи матчасть.

drBatty ★★
()
Ответ на: комментарий от Napilnik

Да кому в этой теме кроме тебя понятия математики _очень_ важны?

а не ты ли subj написал?

Напоследок, чтобы тебя сплющило надолго, при вычислениях внутри компьютера результат сложения может зависеть от скорости сложения - обнаружено экспериментально при многопоточности;)

у говнокодеров и не такие fuckupы бывают. Я не удивлён.

drBatty ★★
()
Ответ на: комментарий от Napilnik

Вероятности - всегда действительные. Целочисленных вероятностей не бывает.

А действительные вероятности ты можешь выражать байтами как уж тебе угодно. Наиболее общепринятые форматы - с плавающей точкой и с фиксированной точкой. Если необходимая точность известна наперед, то в чем проблема использовать фиксированную точку? В общем же случае в чем проблема использовать плавающую точку?

И вообще, зачем тебе такие понятия, как проценты и промилле?

Deleted
()
Ответ на: комментарий от drBatty

неужели сложно?

А мне это надо? Я в голове поделил, но про твоё неосиляторство как-то не подумал.

в двоичной системе это возможно только если знаменатель - степень двойки. Иначе получается бесконечная дробь. Учи матчасть.

Не умничай и используй нормальную двоичную запись вместо этой хрени - в переменных типа double в двоичной форме тысячные доли небольших чисел отлично сохраняются.

Napilnik ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.