exercitiu

 avatar
unknown
c_cpp
3 years ago
531 B
6
Indexable
#include <stdio.h>
#include <stdlib.h>

char ops[4] = {'+', '-', '*', '/' };

void sol(uint32_t num) {
    uint32_t N = (num>>29);
    printf("%d ", N);
    for(int i = 0; i < N; i++)
        printf("%c ", ops[(((num<<3)<<2*i)>>30)]);
    printf("%d\n", ((num<<3)<<2*N)>>28);
}

int main(void) {
    // 2212364288 = 0b10000011110111100000000000000000
    // 100 00 01 11 10 1111 00000000000000000  
    // N=100 Op1=00 Op2=01 Op3=11 Op4=10 Dim=1111
    uint32_t a = 2212364288; 

    printf("%u=", a);
    sol(a);

    return 0;
}
Editor is loading...