vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Интересно, что количество бит в самом большом целочисленном типе, поддерживаемом современными компиляторами (int128_t), уже сравнялось с максимальным значением самого маленького (signed char).

Это к вопросу о том, как интерпретировать x << -1.

Мне пришли в голову две «естественные» интерпретации:

1. x << -1 = x >> 1.
2. x << -1 = x<< ((usigned что-то)-1) = x << 255 или x << 65535 и так далее.

В обоих случаях 1 << -1 = 0.

Но не все компиляторы с этим согласны. (понятно что по стандарту это undefined behavoir).

Date: 2016-04-06 12:47 pm (UTC)
From: [identity profile] sur-kg.livejournal.com
А если do_something() изменяет значение foo?

Date: 2016-04-06 01:55 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan
Согласен с уточнением.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 23 4 56 7
89 1011 121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 12th, 2025 08:05 pm
Powered by Dreamwidth Studios