PageMaker
Nieuw lid
- Lid geworden
- 28 jul 2020
- Berichten
- 1
- Waarderingsscore
- 0
Ik krijg een vreemd resultaat bij het toepassen van left- en right shift.
int main(int argc, const char * argv[]
{
int int_1, int_2;
long long bin_1, bin_2, result;
printf("Enter first int: ");
scanf("%d", &int_1);
printf("Enter second int: ");
scanf("%d", &int_2);
bin_1 = dec2bin(int_1);
bin_2 = dec2bin(int_2);
printf("bin_1: %lld\n", bin_1);
printf("bin_2: %lld\n", bin_2);
result = bin_1 << 1;
printf("result_1: %lld\n", result);
result = bin_2 << 1;
printf("result_2: %lld\n", result);
// Enter first int: 10
// Enter second int: 11
// bin_1: 1010
// bin_2: 1011
// result: 2020
// result: 2022
// Program ended with exit code: 0
Kan iemand deze vreemde output verklaren?
Het resultaat dat ik verwacht zou moeten zijn:
// result: 10100
// result: 10110
Ik werk met Xcode als IDE en de standaard gnu11 compiler.
int main(int argc, const char * argv[]
{
int int_1, int_2;
long long bin_1, bin_2, result;
printf("Enter first int: ");
scanf("%d", &int_1);
printf("Enter second int: ");
scanf("%d", &int_2);
bin_1 = dec2bin(int_1);
bin_2 = dec2bin(int_2);
printf("bin_1: %lld\n", bin_1);
printf("bin_2: %lld\n", bin_2);
result = bin_1 << 1;
printf("result_1: %lld\n", result);
result = bin_2 << 1;
printf("result_2: %lld\n", result);
// Enter first int: 10
// Enter second int: 11
// bin_1: 1010
// bin_2: 1011
// result: 2020
// result: 2022
// Program ended with exit code: 0
Kan iemand deze vreemde output verklaren?
Het resultaat dat ik verwacht zou moeten zijn:
// result: 10100
// result: 10110
Ik werk met Xcode als IDE en de standaard gnu11 compiler.