-
- Так все от ситуации зависит. Если вы делаете операцию сложения, то gcc не будет с числами вообще ничего. lloyd(31 знак., 01.02.2018 12:57)
- Последователь из переменных в переменные перегружаем: uint -> int -> uint... что в конце будет? - POV_(01.02.2018 14:36, )
- На примере FFFF так и останется FFFF. Точнее, FFFF -> (-1) --> FFFF. Наскока помню, при int->uint сохраненяется битовое представление; старший бит теряет функцию знакового бита - Petrovich(01.02.2018 14:57, )
- Но uint->int - это же сужающее преобразование. В инте нет места и под всё число и под знак. С чего бы было прямое копирование бит-в-бит? - POV_(01.02.2018 15:09, )
- Стандарт пишет, что uint -> int "implementation-defined". Но всю жизнь было копирование бит-в-бит, я бы здесь подвоха не ждал. - SciFi(02.02.2018 13:19)
- И тем не менее код не работает если числа больше 32767.. Может где логическая обработка присутствует нежданно. - POV_(02.02.2018 14:31, )
- Ну, наверное, надо в
doublelong преобразовывать, int же не может числа больше 32767 хранить (точнее может, но не гарантируется всегда и везде, гарантируется только -32767...32767). - blackprapor(02.02.2018 15:19 - 15:29) - Код в студию. Зачем-то прицепился к преобразованию типов, а ведь наговнокодить можно не только лишь там. - SciFi(02.02.2018 14:51)
- Код - это 500 метров исходников ))) - POV_(02.02.2018 15:18, )
- Косяк пока лишь найден с типами - POV_(02.02.2018 15:23, )
- Код - это 500 метров исходников ))) - POV_(02.02.2018 15:18, )
- Ну, наверное, надо в
- Представление знаковых чисел может быть не в виде "дополнительного кода" (см. википедию), а в каком-либо ином виде. И запросто будет не бит в бит. - fk0(02.02.2018 13:26)
- И тем не менее код не работает если числа больше 32767.. Может где логическая обработка присутствует нежданно. - POV_(02.02.2018 14:31, )
- Там автоматом "сохранение битового представления; старший бит становится знаковым" - Petrovich(01.02.2018 16:44, )
- В инте тоже нет места под знак. lloyd(104 знак., 01.02.2018 15:35)
- Этот русурс чего-то не хотит показывать сишные примеры... POV_(294 знак., 01.02.2018 16:05, )
- Все правильно. При присваивании просто копируются биты, а printf получив ваши биты выводит их в соответствии с заданным форматом. - Boвa(01.02.2018 16:26)
- Ясненько - POV_(01.02.2018 16:41, )
- Тогда вопрос: что больше - -1 или +1? - Bill(03.02.2018 06:20 - 04.02.2018 14:20)
- Ахаха,
контуженныйвдохновлённый ассемблером решил зайти скозырейарифметики. Извините, не мог удержаться :-) - SciFi(04.02.2018 14:45)- :) - Bill(05.02.2018 13:12)
- Ахаха,
- С дает волю программисту при уменьшении разрядности. misyachniy(473 знак., 02.02.2018 13:12)
- Если бы "программист".. их было человек 50 китае-индуссов разной степени дебильности с неспособностью к коммуникации )) - POV_(02.02.2018 14:22, )
- Ну что я могу вам посоветовать? misyachniy(268 знак., 02.02.2018 20:40)
- Если бы "программист".. их было человек 50 китае-индуссов разной степени дебильности с неспособностью к коммуникации )) - POV_(02.02.2018 14:22, )
- Тогда вопрос: что больше - -1 или +1? - Bill(03.02.2018 06:20 - 04.02.2018 14:20)
- Ясненько - POV_(01.02.2018 16:41, )
- Все правильно. При присваивании просто копируются биты, а printf получив ваши биты выводит их в соответствии с заданным форматом. - Boвa(01.02.2018 16:26)
- Этот русурс чего-то не хотит показывать сишные примеры... POV_(294 знак., 01.02.2018 16:05, )
- Стандарт пишет, что uint -> int "implementation-defined". Но всю жизнь было копирование бит-в-бит, я бы здесь подвоха не ждал. - SciFi(02.02.2018 13:19)
- Но uint->int - это же сужающее преобразование. В инте нет места и под всё число и под знак. С чего бы было прямое копирование бит-в-бит? - POV_(01.02.2018 15:09, )
- На примере FFFF так и останется FFFF. Точнее, FFFF -> (-1) --> FFFF. Наскока помню, при int->uint сохраненяется битовое представление; старший бит теряет функцию знакового бита - Petrovich(01.02.2018 14:57, )
- Последователь из переменных в переменные перегружаем: uint -> int -> uint... что в конце будет? - POV_(01.02.2018 14:36, )
- Так все от ситуации зависит. Если вы делаете операцию сложения, то gcc не будет с числами вообще ничего. lloyd(31 знак., 01.02.2018 12:57)