- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
#include <stdio.h>
#include <inttypes.h>
int main(void) {
uint64_t a = 1<<31;
uint64_t b = 1<<32;
uint64_t c = (uint64_t)1<<32;
printf("a:%llx\n", a);
printf("b:%llx\n", b);
printf("c:%llx\n", c);
return 0;
}
guest8 16.07.2018 02:52 # −999
govnokod3r 16.07.2018 15:08 # −1
kamanalnadzor 16.07.2018 06:00 # −1
guest8 16.07.2018 06:47 # −999
kamanalnadzor 16.07.2018 19:46 # −1
guest8 16.07.2018 19:54 # −999
kamanalnadzor 16.07.2018 19:55 # −1
guest8 16.07.2018 19:55 # −999
roman-kashitsyn 16.07.2018 11:09 # +1
vistefan 16.07.2018 12:27 # 0
guest8 16.07.2018 17:19 # −999
guest8 16.07.2018 17:40 # −999
roskomgovno 16.07.2018 23:40 # 0
kamanalnadzor 16.07.2018 19:44 # −1
roman-kashitsyn 16.07.2018 19:45 # +2
Верное слово.
bormand 16.07.2018 07:15 # 0
б) Сдвиг 32-битного числа на 32 -- UB. Иногда получается 0, иногда число вообще никуда не двигается.
ц) Ну тут всё норм.
guest8 16.07.2018 17:18 # −999
666_N33D135 16.07.2018 17:26 # +1
guest8 16.07.2018 17:35 # −999
guest8 16.07.2018 17:33 # −999
666_N33D135 16.07.2018 17:59 # 0
bzzz 06.09.2018 14:27 # 0