LINUX.ORG.RU

История изменений

Исправление sunjob, (текущая версия) :

другой вариант

#include <iostream>

#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}
g++ main.cpp && ./a.out

abs: 1, ABS((int)u) 1
abs: 1, ABS(     u) 1

что-то [ code=c++ ] не хрена не работает...

Исправление sunjob, :

другой вариант

#include <iostream>

#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}
g++ main.cpp && ./a.out

abs: 1, ABS((int)u) 1
abs: 1, ABS(     u) 1

что-то [ code=c++ ]не хрена не работает...

Исправление sunjob, :

другой вариант

#include <iostream>

#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}
g++ main.cpp && ./a.out

abs: 1, ABS((int)u) 1
abs: 1, ABS(     u) 1

Исправление sunjob, :

другой вариант

#include <iostream>

#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}
g++ main.cpp && ./a.out
abs: 1, ABS((int)u) 1
abs: 1, ABS(     u) 1

Исправление sunjob, :

другой вариант

#include <iostream>

#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}

Исходная версия sunjob, :

другой вариант

#include <iostream>

//#define ABS(N) ((N<0)?(-N):(N))
#define ABS(N) ((((int)(N))<0)?(-N):(N))

int main() {
  unsigned int u=-1;
  std::cout << "abs: " << abs((int)u) << ", ABS((int)u) " << ABS(u) << "\n";
  std::cout << "abs: " << abs(     u) << ", ABS(     u) " << ABS(u) << "\n";
}