1. Си / Говнокод #28998

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int iseven(long long int number)
    {
    	struct Num {
    		unsigned int x:1;
    		unsigned int y:31;
    		unsigned int z:32;
    	} num = (*(struct Num*)(&number));
    	return num.x; //Если результат 1, то нечётное.
    }

    Функция определения чётности числа посредством возврата младшего бита.

    Запостил: TurboLyudoed, 11 Октября 2024

    Комментарии (1) RSS

    • Если в long long int не 64 бита, сломается. Надо было int64_t...

      И вообще что стандарт говорит о порядке битовых полей?
      Ответить

    Добавить комментарий