?

Log in

No account? Create an account
По делам сюда приплыл, а не за этим [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

знаковый или беззнаковый? [фев. 22, 2018|12:50 pm]
Anatoly Vorobey
[Tags|]

(эта запись может быть интересна программистам, знающим C/C++)

Во внутреннем форуме на работе кто-то устроил опрос, который просто не могу не украсть:

Опрос #2078582 unsigned short

"foo" is an "unsigned short". Is the expression "foo + foo" signed or unsigned?

signed
36(17.2%)
unsigned
126(60.3%)
implementation defined
47(22.5%)


Не смотрите в комментарии перед голосованием, там можно обсуждать правильный ответ.
СсылкаОтветить

Comments:
Страница 2 из 2
<<[1] [2] >>
[User Picture]From: occuserpens
2018-02-23 03:07 am
Интуитивно, плюсы от unsigned int должны быть unsigned int. И действительно, судя по http://www.cplusplus.com/forum/beginner/8529/ так оно и есть, если, конечно, не углубляться в теологические тонкости.
(Ответить) (Thread)
[User Picture]From: migmit.dreamwidth.org
2018-02-23 11:48 am
$ cat test.cpp; g++ test.cpp -o test; ./test
#include 
int main() {
  unsigned short f = 1;
  unsigned int i = 1;
  signed short s = 1;
  signed int j = 1;
  std::cout << typeid(f).name() << std::endl;
  std::cout << typeid(i).name() << std::endl;
  std::cout << typeid(s).name() << std::endl;
  std::cout << typeid(j).name() << std::endl;
  std::cout << typeid(f+f).name() << std::endl;
}
t
j
s
i
i

Signed int.
(Ответить) (Thread)
[User Picture]From: Serge Kork
2018-02-23 03:33 pm
Действительно GCC продвигает до int.



http://coliru.stacked-crooked.com/a/742e9a8cca865c91
(Ответить) (Thread)
From: winpooh
2018-02-25 11:59 am
Призрачно всё в сишном мире бушующем.
Есть только int - за него и держись.
Есть только int между прошлым и будущим.
Именно он называется int.
(Ответить) (Thread)
Страница 2 из 2
<<[1] [2] >>