Тип int...
От: Shmj Ниоткуда  
Дата: 13.04.23 21:17
Оценка: -6
Вопрос у меня такой.

int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.

Для хранения данных — тоже лучше не привыкать — ведь что за тип ненадежный.

Зачем же он нужон?
Re: Тип int...
От: sqrt  
Дата: 13.04.23 21:23
Оценка:
Здравствуйте, Shmj, Вы писали:

Fixed width integer types
Re: Тип int...
От: rg45 СССР  
Дата: 13.04.23 21:45
Оценка: +11
Здравствуйте, Shmj, Вы писали:

S>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.


А Земля имеет форму чемодана.

P.S. Это такой особый талант — уметь задать один вопрос и напичкать его дюжиной ложных неявных умолчаний, так, что читаешь и даже теряешься, как на эту херь отвечать.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 13.04.2023 21:49 rg45 . Предыдущая версия .
Re[2]: Тип int...
От: Shmj Ниоткуда  
Дата: 13.04.23 21:45
Оценка: -4
Здравствуйте, sqrt, Вы писали:

S>Fixed width integer types


Вопрос у меня не в этом. Если нужно 4 байта — то можно заюзать long (int), который ровно 4 байта вне зависимости от системы.

Вопрос мой — какой смысл в типе int? Т.е. зачем он нужен, есть ли сценарии для его использования?
Re[2]: Тип int...
От: Shmj Ниоткуда  
Дата: 13.04.23 21:47
Оценка:
Здравствуйте, rg45, Вы писали:

S>>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.

R>А Земля имеет форму чемодана.

А конкретно.
Re: Тип int...
От: alpha21264 СССР  
Дата: 13.04.23 21:49
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Вопрос у меня такой.


S>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.


S>Для хранения данных — тоже лучше не привыкать — ведь что за тип ненадежный.


S>Зачем же он нужон?



Течёт вода Кубань-реки куда велят большевики.
Re[2]: Тип int...
От: Shmj Ниоткуда  
Дата: 13.04.23 21:50
Оценка: :)
Здравствуйте, alpha21264, Вы писали:

S>>Зачем же он нужон?

A>

Не быстрее было бы ответить в простоте сердца, чем лицо кривить?
Re[3]: Тип int...
От: rg45 СССР  
Дата: 13.04.23 22:04
Оценка: +5 :))) :))
Здравствуйте, Shmj, Вы писали:

S>А конкретно.


Дермантинового чемодана.
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[3]: Тип int...
От: ononim  
Дата: 13.04.23 22:21
Оценка: +4
S>Вопрос у меня не в этом. Если нужно 4 байта — то можно заюзать long (int), который ровно 4 байта вне зависимости от системы.
хехе
echo 'main() { return printf("%ld %ld %ld %ld\n", sizeof(char), sizeof(int), sizeof(long), sizeof(long long)), 0;}' | gcc -w -x c - && ./a.out
1 4 8 8

echo 'main() { return printf("%ld %ld %ld %ld\n", sizeof(char), sizeof(int), sizeof(long), sizeof(long long)), 0;}' | gcc -m32 -w -x c - && ./a.out
1 4 4 8

.. призрачно все в этом мире бушующем.
Правило простое — если нужно 4 байта — значит надо юзать int32_t, если нужно 8 байт — значит надо юзать int64_t
А вот если нужен N байт — то int, а если M — то long, а если R — то long long. А если один байт — то char.
Как много веселых ребят, и все делают велосипед...
Отредактировано 13.04.2023 22:27 ononim . Предыдущая версия .
Re[4]: Тип int...
От: Pzz Россия https://github.com/alexpevzner
Дата: 13.04.23 22:47
Оценка: :)
Здравствуйте, rg45, Вы писали:

S>>А конкретно.


R>Дермантинового чемодана.


А я ведь подозревал, что с землей что-то не так!
Re: Тип int...
От: cppguard  
Дата: 13.04.23 22:47
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Зачем же он нужон?


Бувально недавно было обсуждение на эту тему. Лень искать или нечем заняться?
Re: Тип int...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.23 23:35
Оценка: 9 (2) +1
Здравствуйте, Shmj, Вы писали:

S>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.


S>Для хранения данных — тоже лучше не привыкать — ведь что за тип ненадежный.


S>Зачем же он нужон?


А какие ваши предложения?

UPD int на любой системе не меньше 16ти бит. Даже на самых убогих 8ми-битных системах он будет как минимум 16 бит, пусть и с ухудшением производительности. На 16ти-битных системах он также будет не меньше 16ти бит. На 32х-битных системах он будет 32 бита. Для любой целой переменной int-а обычно будет достаточно на целевой платформе с учетом её — платформы, возможностей. А компилятор сам выберет фактический размер переменной.
Если тебе нужно с гарантией, то в плюсах есть int_leastXX_t, может в сишечку тоже завезли что-то такое. Хочется гарантий — использую такие типы. А int — он исторический, как минимум, если его отменить — весь современный мир рухнет.

Да, кстати, все эти intXX_t/int_leastXX_t и прочие обычно определяются при помощи char/short/int/long/long long через #ifdef для каждой платформы
Маньяк Робокряк колесит по городу
Отредактировано 13.04.2023 23:58 Marty . Предыдущая версия .
Re[3]: Тип int...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.23 23:37
Оценка: +3
Здравствуйте, Shmj, Вы писали:

S>>Fixed width integer types


S>Вопрос у меня не в этом. Если нужно 4 байта — то можно заюзать long (int), который ровно 4 байта вне зависимости от системы.



Вот тут уже у тебя косяк с кругозором, на пингвинных 64-битных системах long вполне себе 64 бита
Маньяк Робокряк колесит по городу
Отредактировано 14.04.2023 0:00 Marty . Предыдущая версия .
Re[3]: Тип int...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.23 23:39
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>>>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен — т.е. для хранения адреса его нельзя использовать.

R>>А Земля имеет форму чемодана.

S>А конкретно.


А зачем в интах хранить адреса? Храни в интах просто целые значения, а для адресов используй, внезапно, указатели
Маньяк Робокряк колесит по городу
Re[3]: Тип int...
От: alpha21264 СССР  
Дата: 13.04.23 23:41
Оценка:
Здравствуйте, Shmj, Вы писали:

S>>>Зачем же он нужон?

A>>

S>Не быстрее было бы ответить в простоте сердца, чем лицо кривить?


Прочитать Кернигана и Ричи совсем не судьба?

Течёт вода Кубань-реки куда велят большевики.
Re[2]: Тип int...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.23 23:41
Оценка: +1
Здравствуйте, rg45, Вы писали:

R>P.S. Это такой особый талант — уметь задать один вопрос и напичкать его дюжиной ложных неявных умолчаний, так, что читаешь и даже теряешься, как на эту херь отвечать.


Один дурак задаст столько вопросов, что сто мудрецов не ответят.

Заметьте, это мысль гораздо старше меня, т.е. явление так-то не новое
Маньяк Робокряк колесит по городу
Re[3]: Тип int...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.23 23:43
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>>>Зачем же он нужон?

A>>

S>Не быстрее было бы ответить в простоте сердца, чем лицо кривить?


Так он в простоте сердца и ответил, чего тебе не нравится?
Маньяк Робокряк колесит по городу
Re[3]: Тип int...
От: rg45 СССР  
Дата: 14.04.23 04:14
Оценка: +1 :)
Здравствуйте, Marty, Вы писали:


M>Один дурак задаст столько вопросов, что сто мудрецов не ответят.

M>Заметьте, это мысль гораздо старше меня, т.е. явление так-то не новое

Я понял, он нам мстит: Современные детские вопросы...
Автор: Shmj
Дата: 04.04.23
--
Не можешь достичь желаемого — пожелай достигнутого.
Re: Тип int...
От: BSOD  
Дата: 14.04.23 11:10
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>int может быть как 2 так и 4 байта. Причем на 32 и 64 битных системах он по 4 байта один хрен -

S>т.е. для хранения адреса его нельзя использовать.
Для хранения адреса можно использовать intptr_t/uintptr_t.
А лучше использовать сами указатели.

S>Для хранения данных — тоже лучше не привыкать — ведь что за тип ненадежный.

S>Зачем же он нужон?
Всё просто. int — это целый тип неопределенного размера, но он будет обрабатываться максимально быстро на каждой платформе.
Если тебе нужны целые определенного размера — используй int8_t ... int64_t.
Sine vilitate, sine malitiosa mente
Re: Тип int...
От: koenjihyakkei Россия  
Дата: 14.04.23 11:56
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Для хранения данных — тоже лучше не привыкать — ведь что за тип ненадежный.


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