Мамкин кодер или как IT ломает судьбы
На пикабу не нашел. Засим дискуссию на тему "да ета фейк!" (sic!) объявляю открытой.
На пикабу не нашел. Засим дискуссию на тему "да ета фейк!" (sic!) объявляю открытой.
выбесило пиздец - "не люблю медленную технику и разработку под неё". сука, да когда-то за int вместо short канделябрами пиздили, а теперь мышкой щёлк-щёлк - и готов Hello World на Visual C размером в сотню метров
более того, даже в книгах по обучению яп, там, где можно юзнуть short юзают int. Я пока не изучил как работает оперативка и сколько байт занимает каждый тип, делал так же
Автоприведение приводит не к инту, а к типу большего размера. По крайней мере, так это работает в с#, но думаю, это справедливо для любого сильно типизированного языка.
Преобразование к типу меньшего размера от языка к языку сильнее отличается.
В С при неявном приведении просто потеряются старшие разряды, а в C# компилятор выдаст ошибку.
процы современные с интами эффективнее же работают
x64 как-то пофигу, но можно получить выигрыш, если осуществлять преобразования над 32-разрядными числами, осуществляя их побитово как над частью одного 64-разрядного числа.
таких нюансов много и зависят они от конкретной архитектуры, языка и компилятора.
Да, вы правы. В c# то же самое: 8- и 16-битные целочисленные типы не имеют собственных арифметических операций, поэтому перед выполнением операции преобразуются до большего типа, т.е. до int'а.
В C с этими типами работал на микроконтроллерах, в т.ч. 32-разрядных, и они поддерживали арифметические операции, потому как там на преобразование до большего типа тратить память вообще не комильфо.
Видимо не до конца изучили.
Всю вашу сэкономленную память съест выравнивание. Вы либо не экономите никак память даже использую короткие целочисленные типы, но с выравниванием, либо сильно снижаете производительность из-за невыровненных данных, но экономите крохи памяти.
Если ваша задача не требует конкретного типа, то самый разумный выбор это int.
Скажем речь о количестве учеников в классе. Ну уж больше 100 учеников не может быть. Можно short использовать? Хрен там, эффективнее использовать int.
IT-юмор
5.8K пост52.7K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору