Информация об изменениях

Сообщение Re[5]: Что вы думаете о Rust? от 04.09.2023 21:25

Изменено 04.09.2023 21:36 CRT

Re[5]: Что вы думаете о Rust?
Здравствуйте, T4r4sB, Вы писали:

TB>Ну я бы уже на первой строчке бы задал вопросы — типа если чар знаковый, то автор уверен, что он имеет в виду 255, а не -1?


для автора может вообще этот char не число (знаковое или беззнаковое), а код, имеющий шестнадцатеричное представление 0xff и соответственно двоичное 11111111.
Но это не важно. Он не понимает почему байт, даже знаковый, беззнаково расширенный до unsigned int (так он воспринимает преобразование char к unsigned int) вдруг становится 0xffffffff. Оказывается потому что сначала он приводится к знаковому int, а потом уже к этому int применяется преобразование (unsigned int). То есть пишем (unsigned int)с, а на самом деле имеем (unsigned int)(int)c

как-то не совсем интуитивно понятно и очевидно
Re[5]: Что вы думаете о Rust?
Здравствуйте, T4r4sB, Вы писали:

TB>Ну я бы уже на первой строчке бы задал вопросы — типа если чар знаковый, то автор уверен, что он имеет в виду 255, а не -1?


для автора может вообще этот char не число (знаковое или беззнаковое), а код, имеющий шестнадцатеричное представление 0xff и, соответственно, двоичное 11111111.
Но это не важно. Он не понимает почему байт, даже знаковый, беззнаково расширенный до unsigned int (так он воспринимает преобразование char к unsigned int) вдруг становится 0xffffffff. Оказывается потому что сначала он приводится к знаковому int, а потом уже к этому int применяется преобразование (unsigned int). То есть пишем (unsigned int)с, а на самом деле имеем (unsigned int)(int)c

как-то не совсем интуитивно понятно и очевидно