A 32-bit
signed integer can represent all of the integer values from -2147483648 to
2147483647
Following
function takes a number and return true, if the number is in range of signed 32
bit integer.
public
static boolean is32BitSignedInteger(long num) {
return (num <= 2147483647)
&& (num >= -2147483648);
}
A 32-bit unsigned
integer can represent all of the integer values from range is 0 through
4,294,967,295.
Following
function takes a number and return true, if the number is in range of unsigned
32 bit integer.
public
static boolean is32BitUnsignedInteger(long num) {
return (num >= 0) && (num
<= 4294967295l);
}
Find the
below working application.
NumberUtil.java
package com.smaple.app.utils;
public class NumberUtil {
public static boolean is32BitSignedInteger(long num) {
return (num <= 2147483647) && (num >= -2147483648);
}
public static boolean is32BitUnsignedInteger(long num) {
return (num >= 0) && (num <= 4294967295l);
}
}
NumberUtilTest.java
package com.sample.app.utils;
import static org.junit.Assert.*;
import org.junit.Test;
import com.smaple.app.utils.NumberUtil;
public class NumberUtilTest {
@Test
public void is32BitSignedIntegerTest() {
assertTrue(NumberUtil.is32BitSignedInteger(-2147483648));
assertTrue(NumberUtil.is32BitSignedInteger(0));
assertTrue(NumberUtil.is32BitSignedInteger(-10));
assertTrue(NumberUtil.is32BitSignedInteger(100));
assertTrue(NumberUtil.is32BitSignedInteger(2147483647));
assertFalse(NumberUtil.is32BitSignedInteger(2147483648l));
assertFalse(NumberUtil.is32BitSignedInteger(-2147483649l));
assertFalse(NumberUtil.is32BitSignedInteger(21474836481l));
assertFalse(NumberUtil.is32BitSignedInteger(-21474836491l));
}
@Test
public void is32BitUnsignedInteger() {
assertTrue(NumberUtil.is32BitUnsignedInteger(0));
assertTrue(NumberUtil.is32BitUnsignedInteger(10));
assertTrue(NumberUtil.is32BitUnsignedInteger(4294967295l));
assertFalse(NumberUtil.is32BitUnsignedInteger(4294967296l));
assertFalse(NumberUtil.is32BitUnsignedInteger(-1));
assertFalse(NumberUtil.is32BitUnsignedInteger(-21474836491l));
}
}
You may
like
No comments:
Post a Comment