উত্তর:
bool positive = number > 0;
bool negative = number < 0;
অবশ্যই কারও সঠিক উত্তর দেওয়া হয়নি,
num != 0 // num is positive *or* negative!
is positive or is negativeনাis (positive or negative)
Overkill!
public static class AwesomeExtensions
{
public static bool IsPositive(this int number)
{
return number > 0;
}
public static bool IsNegative(this int number)
{
return number < 0;
}
public static bool IsZero(this int number)
{
return number == 0;
}
public static bool IsAwesome(this int number)
{
return IsNegative(number) && IsPositive(number) && IsZero(number);
}
}
ISignDeterminatorএকটি ব্যবহার করে প্রয়োগ করে SignDeterminatorFactory।
int?! সি # এর কোন magন্দ্রজালিক ভূমিতে আপনি কাজ করছেন?
IsImaginary।
Math.Sign পদ্ধতি এক পথ যেতে হয়। এটি নেতিবাচক সংখ্যার জন্য -1, ইতিবাচক সংখ্যার জন্য 1 এবং শূন্যের সমান মানের জন্য 0 (যেমন শূন্যের কোনও চিহ্ন নেই) আসবে। ডাবল এবং একক নির্ভুলতা ভেরিয়েবলগুলি NaN এর সমান হলে একটি ব্যতিক্রম ( অ্যারিমেটিক এক্সেক্সশন ) নিক্ষেপ করবে cause
Math.Sign(যেহেতু এটি স্পষ্টভাবে সম্ভাব্য প্রত্যাবর্তনের মানগুলি সংজ্ঞায়িত করে।)
num < 0 // number is negative
এটি শিল্পের মান:
int is_negative(float num)
{
char *p = (char*) malloc(20);
sprintf(p, "%f", num);
return p[0] == '-';
}
আপনি যুবক এবং আপনার অভিনব চিহ্ন কম চিহ্ন।
আমার দিন ফিরে আমরা ব্যবহার করতে হয়েছিল Math.abs(num) != num //number is negative!
OverflowExceptionযদি numহয় তবে তা ফেলে দেবে । ফলাফল ফ্লোটিং পয়েন্ট মান, যেখানে তারা হতে পারে এমনকি খারাপ সাল থেকে । MinValueInt16Int32Int64NaNNaN != NaN
public static bool IsPositive<T>(T value)
where T : struct, IComparable<T>
{
return value.CompareTo(default(T)) > 0;
}
নেটিভ প্রোগ্রামারের সংস্করণ। আচরণটি ছোট-এন্ডিয়ান সিস্টেমগুলির জন্য সঠিক।
bool IsPositive(int number)
{
bool result = false;
IntPtr memory = IntPtr.Zero;
try
{
memory = Marshal.AllocHGlobal(4);
if (memory == IntPtr.Zero)
throw new OutOfMemoryException();
Marshal.WriteInt32(memory, number);
result = (Marshal.ReadByte(memory, 3) & 0x80) == 0;
}
finally
{
if (memory != IntPtr.Zero)
Marshal.FreeHGlobal(memory);
}
return result;
}
কখনও এটি ব্যবহার করবেন না।
IsPositiveChecker, IsPositiveCheckerInterface, IsPositiveCheckerFactory, এবং IsPositiveCheckerFactoryInterface, যদিও।
result = (Marshal.ReadByte(memory, 3) & 0x80) == 0;পরিবর্তে আপনার উচিত । এছাড়াও, আপনার return result;শেষে কোনও জায়গায় থাকা উচিত যাতে এটি ফলাফলটি ফিরে আসবে।
if (num < 0) {
//negative
}
if (num > 0) {
//positive
}
if (num == 0) {
//neither positive or negative,
}
অথবা "অন্য আইএফএস" ব্যবহার করুন
32-বিট স্বাক্ষরিত পূর্ণসংখ্যার জন্য, যেমন সি # এ System.Int32ওরফে int:
bool isNegative = (num & (1 << 31)) != 0;
মান এবং এর নিখুঁত মান সমান হলে আপনাকে কেবল তুলনা করতে হবে:
if (value == Math.abs(value))
return "Positif"
else return "Negatif"
প্রথম প্যারামিটার EAX রেজিস্টারে সংরক্ষণ করা হয় এবং ফলাফলও।
function IsNegative(ANum: Integer): LongBool; assembler;
asm
and eax, $80000000
end;