#include <stdio.h>
void useSignedNumbers();
void useUnsignedNumbers();
int main()
{
printf("--------- signed -----------"); useSignedNumbers();
printf("-------- unsigned: ---------"); useUnsignedNumbers();
return 0;
}
void useSignedNumbers() {
int byte_1 = 165;
int byte_2 = 200;
byte_1 = ~byte_1;
byte_2 = byte_2 >> 3;
if ((byte_1 > 200) & (byte_2 < 180)) {
}
else {
}
if ((byte_1 < 200) | (byte_2 > 180)) {
}
else {
}
if ((byte_1 < 200) ^ (byte_2 > 180)) {
}
else {
}
}
void useUnsignedNumbers() {
unsigned int byte_1 = 165;
unsigned int byte_2 = 200;
byte_1 = ~byte_1;
byte_2 = byte_2 >> 3;
if ((byte_1 > 200) & (byte_2 < 180)) {
}
else {
}
if ((byte_1 < 200) | (byte_2 > 180)) {
}
else {
}
if ((byte_1 < 200) ^ (byte_2 > 180)) {
}
else {
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHVzZVNpZ25lZE51bWJlcnMoKTsKdm9pZCB1c2VVbnNpZ25lZE51bWJlcnMoKTsKCmludCBtYWluKCkKewogICAgcHJpbnRmKCItLS0tLS0tLS0gc2lnbmVkIC0tLS0tLS0tLS0tIik7CiAgICB1c2VTaWduZWROdW1iZXJzKCk7CiAgICBwcmludGYoIlxuIik7CiAgICBwcmludGYoIi0tLS0tLS0tIHVuc2lnbmVkOiAtLS0tLS0tLS0iKTsKICAgIHVzZVVuc2lnbmVkTnVtYmVycygpOwogICAgcmV0dXJuIDA7Cn0KCnZvaWQgdXNlU2lnbmVkTnVtYmVycygpIHsKICAgIGludCBieXRlXzEgPSAxNjU7CiAgICBpbnQgYnl0ZV8yID0gMjAwOwogICAgCiAgICBwcmludGYoIlxuJWkiLCBieXRlXzEpOwogICAgcHJpbnRmKCJcbiVpIiwgYnl0ZV8yKTsKICAgIAogICAgYnl0ZV8xID0gfmJ5dGVfMTsKICAgIGJ5dGVfMiA9IGJ5dGVfMiA+PiAzOwogICAgCiAgICBwcmludGYoIlxuJWkiLCBieXRlXzEpOwogICAgcHJpbnRmKCJcbiVpIiwgYnl0ZV8yKTsKICAgIAogICAgaWYgKChieXRlXzEgPiAyMDApICYgKGJ5dGVfMiA8IDE4MCkpIHsKICAgICAgICBwcmludGYoIlxudHJ1ZSIpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcHJpbnRmKCJcbmZhbHNlIik7CiAgICB9CiAgICAKICAgIGlmICgoYnl0ZV8xIDwgMjAwKSB8IChieXRlXzIgPiAxODApKSB7CiAgICAgICAgcHJpbnRmKCJcbnRydWUiKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHByaW50ZigiXG5mYWxzZSIpOwogICAgfQogICAgCiAgICBpZiAoKGJ5dGVfMSA8IDIwMCkgXiAoYnl0ZV8yID4gMTgwKSkgewogICAgICAgIHByaW50ZigiXG50cnVlIik7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBwcmludGYoIlxuZmFsc2UiKTsKICAgIH0KfQoKdm9pZCB1c2VVbnNpZ25lZE51bWJlcnMoKSB7CiAgICB1bnNpZ25lZCBpbnQgYnl0ZV8xID0gMTY1OwogICAgdW5zaWduZWQgaW50IGJ5dGVfMiA9IDIwMDsKICAgIAogICAgcHJpbnRmKCIldSIsIGJ5dGVfMSk7CiAgICBwcmludGYoIlxuJXUiLCBieXRlXzIpOwogICAgCiAgICBieXRlXzEgPSB+Ynl0ZV8xOwogICAgYnl0ZV8yID0gYnl0ZV8yID4+IDM7CiAgICAKICAgIHByaW50ZigiXG4ldSIsIGJ5dGVfMSk7CiAgICBwcmludGYoIlxuJXUiLCBieXRlXzIpOwogICAgCiAgICBpZiAoKGJ5dGVfMSA+IDIwMCkgJiAoYnl0ZV8yIDwgMTgwKSkgewogICAgICAgIHByaW50ZigiXG50cnVlIik7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBwcmludGYoIlxuZmFsc2UiKTsKICAgIH0KICAgIAogICAgaWYgKChieXRlXzEgPCAyMDApIHwgKGJ5dGVfMiA+IDE4MCkpIHsKICAgICAgICBwcmludGYoIlxudHJ1ZSIpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcHJpbnRmKCJcbmZhbHNlIik7CiAgICB9CiAgICAKICAgIGlmICgoYnl0ZV8xIDwgMjAwKSBeIChieXRlXzIgPiAxODApKSB7CiAgICAgICAgcHJpbnRmKCJcbnRydWUiKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHByaW50ZigiXG5mYWxzZSIpOwogICAgfQp9