導航:首頁 > 編程語言 > javaint轉bcd

javaint轉bcd

發布時間:2023-05-12 20:07:18

java中int強制轉換byte

int 是32位 4個位元組 8位1字激芹節
int轉換成byte 前面的3個位元組 即24位 直接砍掉 就剩最後一位
所以 266 ——(00000000)(00000000)(00000001)(00001010)
== 0001010 = 1* 2 + 1 *2*2*2 = 10
最開始的0 表宴鉛鄭示是正數
如果是1表示負數 還要先按位取反再加1 然後才能算出來表示晌頌的數值

② JAVA里int型強制轉化成byte型

因為java的byte類型只佔一個位元組,即2的8次方,碰指表笑者配示的范圍是0~127,128溢出了當做0,129為1,以此類推。所以 257轉換為byte後的值為:嫌基257-128-128=1323轉換為byte後:323-128-128=67

③ 請問如何將int型的數轉化為BCD碼

應先把二進制轉為十進制,再轉為BCD碼,如果右移的話就把二進制數拆開了

④ 在java中int類型能自動轉換成什麼類型

int是基礎數據類型,不能直接轉成string類型,但是可以通過以下方式啟枝轉換悄埋敏:
與String相加,例如 int i = 10; String s = ""+i;
調用液弊String提供的api String.valueOf(i); 得到的就是String類型。
使用int的包裝類,Integer.toString()也可以。

⑤ java中如何實現BCD碼字元串與16進制字元串的互轉

nt main(void)
4{
5 unsigned char array[4] = {"0x0","0x0","0x02","0xe7"};
6 unsigned long num;
7 num = 0;
8 for(int i=0; i<sizeof(array); i++)
9 {
10 num<<=8;
11 num |= array[i];
12 }
13 printf("核拿num = %d",num);
14 return 0;
15
16}

二進制,位元組數組拆氏洞,字元,十六進制,BCD編碼轉換
* 把16進制字旅枯符串轉換成位元組數組
* @param hex
* @return
*/
public static byte[] hexStringToByte(String hex) {
int len = (hex.length() / 2);
byte[] result = new byte[len];
char[] achar = hex.toCharArray();
for (int i = 0; i < len; i++) {
int pos = i * 2;
result[i] = (byte) (toByte(achar[pos]) << 4 | toByte(achar[pos + 1]));
}
return result;
}

private static byte toByte(char c) {
byte b = (byte) "0123456789ABCDEF".indexOf(c);
return b;
}

public static final String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}

public static final Object bytesToObject(byte[] bytes) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
ObjectInputStream oi = new ObjectInputStream(in);
Object o = oi.readObject();
oi.close();
return o;
}

public static final byte[] objectToBytes(Serializable s) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream ot = new ObjectOutputStream(out);
ot.writeObject(s);
ot.flush();
ot.close();
return out.toByteArray();
}

public static final String objectToHexString(Serializable s) throws IOException{
return bytesToHexString(objectToBytes(s));
}

public static final Object hexStringToObject(String hex) throws IOException, ClassNotFoundException{
return bytesToObject(hexStringToByte(hex));
}

public static String bcd2Str(byte[] bytes){
StringBuffer temp=new StringBuffer(bytes.length*2);

for(int i=0;i<bytes.length;i++){
temp.append((byte)((bytes[i]& 0xf0)>>>4));
temp.append((byte)(bytes[i]& 0x0f));
}
return temp.toString().substring(0,1).equalsIgnoreCase("0")?temp.toString().substring(1):temp.toString();
}

public static byte[] str2Bcd(String asc) {
int len = asc.length();
int mod = len % 2;

if (mod != 0) {
asc = "0" + asc;
len = asc.length();
}

byte abt[] = new byte[len];
if (len >= 2) {
len = len / 2;
}

byte bbt[] = new byte[len];
abt = asc.getBytes();
int j, k;

for (int p = 0; p < asc.length()/2; p++) {
if ( (abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {
j = abt[2 * p] - '0';
} else if ( (abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {
j = abt[2 * p] - 'a' + 0x0a;
} else {
j = abt[2 * p] - 'A' + 0x0a;
}

if ( (abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {
k = abt[2 * p + 1] - '0';
} else if ( (abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {
k = abt[2 * p + 1] - 'a' + 0x0a;
}else {
k = abt[2 * p + 1] - 'A' + 0x0a;
}

int a = (j << 4) + k;
byte b = (byte) a;
bbt[p] = b;
}
return bbt;
}

public static String BCD2ASC(byte[] bytes) {
StringBuffer temp = new StringBuffer(bytes.length * 2);

for (int i = 0; i < bytes.length; i++) {
int h = ((bytes[i] & 0xf0) >>> 4);
int l = (bytes[i] & 0x0f);
temp.append(BToA[h]).append( BToA[l]);
}
return temp.toString() ;
}

public static String MD5EncodeToHex(String origin) {
return bytesToHexString(MD5Encode(origin));
}

public static byte[] MD5Encode(String origin){
return MD5Encode(origin.getBytes());
}

public static byte[] MD5Encode(byte[] bytes){
MessageDigest md=null;
try {
md = MessageDigest.getInstance("MD5");
return md.digest(bytes);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return new byte[0];
}

}
//關於byte: signed byte 把 0x00 ~ 0xff 映射成范圍 0~127和 -128~-1 兩段,比較簡單的辦法用 (b+256)%256的辦法令其值回到0~255,或者用&0xff並賦給一個int

⑥ java中int如何轉換byte

因為在java中,int類型的佔4個位元組,而byte佔1個位元組,所以int類型轉化為byte類型時會出現位丟失情況,即將int的低8位作為byte類型的值。int型變數的值為257,對應的二進制是100000001,後8位是00000001,第一個0表示符號位,表示正數,所以變數x的值為1。

⑦ JAVA中怎麼將int數據轉換為byte數據

JAVA中根據以下代碼將int數據轉換為byte數據:

public static byte[] int32ToBytes(int val) {

int size = Integer.SIZE / Byte.SIZE;

byte[] ret = new byte[size];

for (int i = 0; i < size; ++i) {

ret[i] = (byte) (val << (8 * i) >>茄頌鬧 56);

}

return ret;

}

(7)javaint轉bcd擴展閱讀

Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。

byte,顫罩即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。櫻坦

運算規則:

####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####

####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####

⑧ Java 中怎樣將 int 強制轉化為 double

  1. 比如直接將a賦給一個double變數,double c=a。

  2. 總結:往面向對象來說,double就相當於int的抽象

⑨ JAVA中怎麼把int型數據轉為BigInteger型數據

1、創建java類,TestBigInteger.java;

⑩ 在java里怎麼把Int轉換為double型

使用強制類型轉換,就是要轉換的類型,加個括弧.
int iA;
double dA;
iA=1234;
dA=(double)iA;
//這樣dA就等於1234.00
dA=12.34567;
iA=(int)dA;
//這樣iA就等於12,問題是這種轉換回會損失精度,小數部分被截答取還可以接受,如果double超出了int的最大值,高出部分的位數也會被截掉,那就是災難性的了,所以一般不做這種轉換,除非你對待轉換的數據大小心中有數.

閱讀全文

與javaint轉bcd相關的資料

熱點內容
信捷plc編程用哪個軟體 瀏覽:939
vba導入文件 瀏覽:690
更新後版本英文怎麼說 瀏覽:267
桌面雲配置文件分離 瀏覽:505
iphone5如何升級4g網路 瀏覽:5
團購是在哪個app 瀏覽:897
打開多個word文檔圖片就不能顯示 瀏覽:855
騰訊新聞怎麼切換版本 瀏覽:269
app安裝失敗用不了 瀏覽:326
桌面文件滑鼠點開會變大變小 瀏覽:536
手機誤刪系統文件開不了機 瀏覽:883
微信兔子甩耳朵 瀏覽:998
android藍牙傳文件在哪裡 瀏覽:354
蘋果6s軟解是真的嗎 瀏覽:310
c語言代碼量大 瀏覽:874
最新網路衛星導航如何使用 瀏覽:425
以下哪些文件屬於圖像文件 瀏覽:774
zycommentjs 瀏覽:414
確認全血細胞減少看哪些數據 瀏覽:265
文件有哪些要求 瀏覽:484

友情鏈接