summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java
new file mode 100644
index 0000000..06f1d9b
--- /dev/null
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/junrar/unsigned/UnsignedByte.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2007 innoSysTec (R) GmbH, Germany. All rights reserved.
+ * Original author: Edmund Wagner
+ * Creation date: 04.06.2007
+ *
+ * Source: $HeadURL$
+ * Last changed: $LastChangedDate$
+ *
+ *
+ * the unrar licence applies to all junrar source and binary distributions
+ * you are not allowed to use this source to re-create the RAR compression algorithm
+ *
+ * Here some html entities which can be used for escaping javadoc tags:
+ * "&": "&" or "&"
+ * "<": "&#060;" or "&lt;"
+ * ">": "&#062;" or "&gt;"
+ * "@": "&#064;"
+ */
+package org.fox.ttcomics2.junrar.unsigned;
+
+public class UnsignedByte {
+
+ public static byte longToByte(long unsignedByte1) {
+ return (byte) (unsignedByte1 & 0xff);
+ }
+
+ public static byte intToByte(int unsignedByte1) {
+ return (byte) (unsignedByte1 & 0xff);
+ }
+
+ public static byte shortToByte(short unsignedByte1) {
+ return (byte) (unsignedByte1 & 0xff);
+ }
+
+
+ public static short add(byte unsignedByte1, byte unsignedByte2) {
+ return (short) (unsignedByte1 + unsignedByte2);
+ }
+
+ public static short sub(byte unsignedByte1, byte unsignedByte2) {
+
+ return (short) (unsignedByte1 - unsignedByte2);
+ }
+
+
+ public static void main(String[] args) {
+ //tests unsigned (signed)
+ //add
+ System.out.println(add((byte) 0xfe, (byte) 0x01)); //255 (-1)
+ System.out.println(add((byte) 0xff, (byte) 0x01)); //0 (0)
+ System.out.println(add((byte) 0x7f, (byte) 0x01)); //128 (-128)
+ System.out.println(add((byte) 0xff, (byte) 0xff)); //254 (-2)
+
+ //sub
+ System.out.println(sub((byte) 0xfe, (byte) 0x01)); //253 (-3)
+ System.out.println(sub((byte) 0x00, (byte) 0x01)); //255 (-1)
+ System.out.println(sub((byte) 0x80, (byte) 0x01)); //127 (127)
+ //mul
+ System.out.println((byte) -1 * (byte) -1);
+ }
+}