:no: :acute:
Какой язык быстрее?
Какой язык быстрее?
Последний раз редактировалось NT 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
(Запинаясь) Эээээто вы к чему?...
"Что-то не так? Неверно?" (с) Машка
Последний раз редактировалось kiv 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
kiv писал(а):Source of the post
(Запинаясь) Эээээто вы к чему?...
"Что-то не так? Неверно?" (с) Машка
Integer type int - Not smaller than short. At least 16 bits.
Max value - 65 536=
20000000 -?
Последний раз редактировалось NT 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
NT писал(а):Source of the postInteger type int - Not smaller than short. At least 16 bits.
Max value - 65 536=
20000000 -?
Насколько я помню, конкретное число бит в стандарте вообще не оговаривается, только
sizeof(char) == 1 да sizeof(int) >= sizeof(short) >= sizeof(char)
А на практике...
Код: Выбрать все
#include <iostream>
#include <limits>
int main(int argc, const char * argv[])
{
std::cout << "Maximal \'int\' is "
<< std::numeric_limits<int>::max()
<< std::endl;
}
VC++, OW: Maximal 'int' is 2147483647
Последний раз редактировалось kiv 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
Да вы правы, но все знают и реальное значение MAX_INT на 32 битных процессорах) По хорошему надо конечно
const long c = 20000000L;
Последний раз редактировалось folk 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
Kiv, я спорить не буду.
Но согласитесь, дико звучит, что разработчики софта анархисты и один из базовых типов у них на определен.
У меня навык остался еще с 90-х лет, что Max_value_of_ type(unsigned int) = 65535
Вот тут есть таблица INT, там в заголовке (Width in bits by data model ) в Стандарте С++ - 4 байта.
PS. at least 16 bit.
Хммм , точный перевод звучит - "по крайней мере - 16 бит".
Т.е. зависит от модели памяти.
Sorry Kiv
Но согласитесь, дико звучит, что разработчики софта анархисты и один из базовых типов у них на определен.
У меня навык остался еще с 90-х лет, что Max_value_of_ type(unsigned int) = 65535
Вот тут есть таблица INT, там в заголовке (Width in bits by data model ) в Стандарте С++ - 4 байта.
PS. at least 16 bit.
Хммм , точный перевод звучит - "по крайней мере - 16 бит".
Т.е. зависит от модели памяти.
Sorry Kiv
Последний раз редактировалось NT 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
NT писал(а):Source of the post
Но согласитесь, дико звучит, что разработчики софта анархисты и один из базовых типов у них на определен.
Хотелось бы найти точный стандарт языка, жаба давит 30$ платить. :whistle:
Я немного порылся в драфте, но не нашел вообще упоминания о диапазонах типов.
Вот из 3.9.1.
There are five standard signed integer types : “signed char”, “short int”, “int”, “long int”, and “long
long int”. In this list, each type provides at least as much storage as those preceding it in the list.
Кто найдет больше - ткните
В стандарт C не лазил.
У Страуструпа нашел уже упоминавшееся мною неравенство размеров и, да - для char - не менее 8 бит, short - не менее 16 бит и long - не менее 32 бит. Про int ничего не говорит.
Упоминает, что есть реализации с 32-битным char...
Ага, имеет место в драфте стандарта C от 2011 года:
5.2.4.2.1 Sizes of integer types <limits.h>
1 The values given below shall be replaced by constant expressions suitable for use in #if
preprocessing directives. Moreover, except for CHAR_BIT and MB_LEN_MAX, the
following shall be replaced by expressions that have the same type as would an
expression that is an object of the corresponding type converted according to the integer
promotions. Their implementation-defined values shall be equal or greater in magnitude
(absolute value) to those shown, with the same sign.
...
— number of bits for smallest object that is not a bit-field (byte)
CHAR_BIT 8
— minimum value for an object of type short int
SHRT_MIN -32767 // −(215 − 1)
— maximum value for an object of type short int
SHRT_MAX +32767 // 215 − 1
— minimum value for an object of type int
INT_MIN -32767 // −(215 − 1)
— maximum value for an object of type int
INT_MAX +32767 // 215 − 1
LONG_MIN -2147483647 // −(231 − 1)
— maximum value for an object of type long int
LONG_MAX +2147483647 // 231 − 1
— maximum value for an object of type unsigned long int
Так что - "ты и я - мы оба правы..."
Последний раз редактировалось kiv 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
ИМХО В смысле большей переносимости конечно прав NT. Хотя зная конкретную платформу можно и заложиться - тут прав Kiv)
Не всегда имеет смысл писать переносимо - это имеет свою цену. По мне так лучше писать понятно если программа не планируется заведомо быть переносимой везде превезде.
Но реально переносимости по стандарту не хватает как правило - в этом смысле мне милее вариант ./configure - проводить на платформе явные тесты и пользоваться тем что проходит) Грубо говоря придя со своими исходниками на другую платформу надо все проверять.
Не всегда имеет смысл писать переносимо - это имеет свою цену. По мне так лучше писать понятно если программа не планируется заведомо быть переносимой везде превезде.
Но реально переносимости по стандарту не хватает как правило - в этом смысле мне милее вариант ./configure - проводить на платформе явные тесты и пользоваться тем что проходит) Грубо говоря придя со своими исходниками на другую платформу надо все проверять.
Последний раз редактировалось folk 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
folk писал(а):Source of the post
если программа не планируется заведомо быть переносимой везде превезде.
Для этого (в данном случае) есть <limits.h> и <limits>, в которых описаны все свойства, свойственные имеющемуся компилятору.
Все равно полная и безоговорочная переносимость возможна лишь для очень простых программ.
Последний раз редактировалось kiv 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Какой язык быстрее?
Folk, я давно хотел спросить, что это такое? В нескольких последних постах присутствует.АУ сутки)
Последний раз редактировалось NT 27 ноя 2019, 21:37, всего редактировалось 1 раз.
Причина: test
Причина: test
Вернуться в «Computer Science»
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 5 гостей