?

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:
[User Picture]From: Oļeg Giŗko [infoserver.lv]
2018-02-23 01:41 am
Деннс Ритчи не внемлет. У него была цель сделать не продвынутый высокоуровневый язык, а язык, который был бы как можно более похож на язык B, чтобы легче было перенести все уже написанные к тому времени программы с PDP-7 на PDP-11.

В PDP-7 мнинмальной адресуемой ячейкой памяти было 18-битное слово, поэтому в языке B был ровно один тип: слово. Появление других типов (и типизированных указателей) в языке C было вынужденной мерой: на PDP-11 мнмнмальной адресуемой ячейкой был 8-битный байт, что было маловато для хранение целого числа и адреса (которые были 16-битными). Так что пришлось вводить типы char и int (и указатели на них).

Да, а целью разработки языка B было вместить компилятор в 4 килослова памяти PDP-7 (9 килобайт в привычных нам единицах).

Edited at 2018-02-23 01:42 (UTC)
(Ответить) (Parent) (Thread)
[User Picture]From: berezovsky
2018-02-23 05:48 am
ты классный
(Ответить) (Parent) (Thread)