當前位置:首頁 » 編程語言 » java128

java128

發布時間: 2022-11-28 20:58:50

java中有符號128二進制怎樣表示啊/

0000 0000 1000 0000 128
1111 1111 1000 0000 -128
正的有幾位在前面補0 ,負的補1

⑵ java中有符號128二進制怎樣表示啊/

用8位標識不了-128吧?有一位是符號位,8位的數,只能表示-127~127.
如果用16位的話,-128的補碼就是1111111110000000,128的補碼是0000000010000000.
-----------------------------------------------------------------------------------------------------
安卓精英團為你解答
安卓精英團歡迎各位精英加入

⑶ java把字元串類型128轉換成位元組怎麼做

String str = "128";

str.getBytes(); //就是你要的結果
//以下為一個轉碼的操作,自己可以作為參考:
String newStr = new String(str.getBytes("ISO-8859-1"),"UTF-8"); //把一個ISO-8859-1編碼的字元串改為UTF-8的編碼格式。 這個一般針對中文字元串才會使用。

⑷ java中二進制對應的十進制是1、2、4、8、16、32、64、128,那128之後呢

二進制轉十進制:

二進制:1101.011 對應的是 2^3+2^2+2^0+2^(-2)+2^(-3)

十進制 : 轉 :二進制
1 : 轉 : 1 --> 2^0
2 : 轉 : 10 --> 2^1
4 : 轉 : 100 --> 2^2
....
128 : 轉 :10000000 -->2^7
256 : 轉 :100000000 -->2^8

要是我表達的不夠清楚可以追問我。

⑸ java有沒有128位長整數的數據類型

Java定義了4個整數類型:位元組型(byte),短整型short),整型(int),長整型(long)。
這些都是有符號的值,正數或是負數。Java 不支持僅僅是正的無符號的整數。許多其他計算機語言,包括C/C++,支持有符號或無符號的整數。然而,Java的設計者感到無符號整數是不必要的。具體地說,他們感到無符號(unsigned)概念主要被用來指定高位(high-orderbit)狀態,它定義了當int表示一個數字時的符號。你將在第4章中看到,Java對高位含義的管理是不同的,它通過增加一個專門的「無符號右移」運算符來管理高位。這樣,就不需要無符號整數了。
整數類型的長度(width)不應該被理解為它佔用的存儲空間,而應該是該類變數和表達式的行為(behavior)。只要你對類型進行了說明,Java的運行環境對該類的大小是沒有限制的。事實上,為了提高性能,至少位元組型和短整型的存儲是32位(而非8位和16位),因為這是現在大多數計算機使用的字的大小。這些整數類型的長度和變化范圍如表3-1所示:

表3-1 整數的各種類型及特性
名稱 長度 數的范圍
長整型 64 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
整型 32 –2,147,483,648 ~ 2,147,483,647
短整型 16 –32,768 ~ 32,767
位元組型 8 –128~127

⑹ Java位運算符中129和128的位怎麼確定

二進制只有0和1 滿1就進 和十進制一樣的 滿9就進 不是1是哪個位0是哪個位 沒有這種說法

⑺ 如何用java實現128位密鑰的RSA演算法

final int KEY_SIZE = 128;// 沒什麼好說的了,這個值關繫到塊加密的大小,可以更改,但是不要太大,否則效率會低

⑻ 關於java中類型轉化運算 為什int型128轉換成 byte型就成了-128了呢

這個涉及補碼的知識。我先給你寫出結論:正數的補碼是本身的二進製表示,負數的補碼=對應正數的二進制反碼+1(反碼即二進制的所以位取反),並規定首位為符號位不表示值,0為正1為負。
說了這么一堆,有啥用呢?有!整數在計算機中就是以補碼的形式存儲的。
OK基礎有了我們來看看這個問題。int 類型的128,沒有問題,int存儲邊界遠比比128大。而轉化成byte類型,問題就來了。我們先來看int類型的128的二進製表示:0000-0000-0000-0000-0000-0000-1000-0000也就是它的補碼
轉化成byte類型表示為:
1000-0000
我們會發現這里首位需要表示為值!但是遺憾計算機不會自動識別造型時的期望值。1000-0000在計算機中是一個補碼而並非一串正數二進制。我們對它取反得到0111-1111發現正是最大的byte類型值127,再加一得128,而首位為1,表示為負,即1000-0000表示的就是-128就是最小的byte值。
這也就是byte類型值介於-128~127的原因。後面一個方法是一樣的,不再贅述。
當然補碼的知識不止於此,有興趣可以在網上尋找有關資料。

⑼ 如何用java實現128位密鑰的RSA演算法

importjavax.crypto.Cipher;
importsun.misc.BASE64Decoder;
importsun.misc.BASE64Encoder;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.ObjectInputStream;
importjava.io.ObjectOutputStream;
importjava.security.Key;
importjava.security.KeyPair;
importjava.security.KeyPairGenerator;
importjava.security.SecureRandom;

publicclassRSA_Encrypt{
/**指定加密演算法為DESede*/
privatestaticStringALGORITHM="RSA";
/**指定key的大小*/
privatestaticintKEYSIZE=128;
/**指定公鑰存放文件*/
privatestaticStringPUBLIC_KEY_FILE="PublicKey";
/**指定私鑰存放文件*/
privatestaticStringPRIVATE_KEY_FILE="PrivateKey";
//privatestaticStringPUBLIC_KEY_FILE="D://PublicKey.a";
//privatestaticStringPRIVATE_KEY_FILE="D://PrivateKey.a";


/**
*生成密鑰對
*/
()throwsException{
/**RSA演算法要求有一個可信任的隨機數源*/
SecureRandomsr=newSecureRandom();
/**為RSA演算法創建一個KeyPairGenerator對象*/
KeyPairGeneratorkpg=KeyPairGenerator.getInstance(ALGORITHM);
/**利用上面的隨機數據源初始化這個KeyPairGenerator對象*/
kpg.initialize(KEYSIZE,sr);
/**生成密匙對*/
KeyPairkp=kpg.generateKeyPair();
/**得到公鑰*/
KeypublicKey=kp.getPublic();
/**得到私鑰*/
KeyprivateKey=kp.getPrivate();
/**用對象流將生成的密鑰寫入文件*/
ObjectOutputStreamoos1=newObjectOutputStream(newFileOutputStream(PUBLIC_KEY_FILE));
ObjectOutputStreamoos2=newObjectOutputStream(newFileOutputStream(PRIVATE_KEY_FILE));
oos1.writeObject(publicKey);
oos2.writeObject(privateKey);
/**清空緩存,關閉文件輸出流*/
oos1.close();
oos2.close();
}
/**
*加密方法
*source:源數據
*/
publicstaticStringencrypt(Stringsource)throwsException{
generateKeyPair();
/**將文件中的公鑰對象讀出*/
ObjectInputStreamois=newObjectInputStream(newFileInputStream(PUBLIC_KEY_FILE));
Keykey=(Key)ois.readObject();
ois.close();
/**得到Cipher對象來實現對源數據的RSA加密*/
Ciphercipher=Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.ENCRYPT_MODE,key);
byte[]b=source.getBytes();
/**執行加密操作*/
byte[]b1=cipher.doFinal(b);
BASE64Encoderencoder=newBASE64Encoder();
returnencoder.encode(b1);
}
/**
*解密演算法
*cryptograph:密文
*/
publicstaticStringdecrypt(Stringcryptograph)throwsException{
/**將文件中的私鑰對象讀出*/
ObjectInputStreamois=newObjectInputStream(newFileInputStream(PRIVATE_KEY_FILE));
Keykey=(Key)ois.readObject();
/**得到Cipher對象對已用公鑰加密的數據進行RSA解密*/
Ciphercipher=Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE,key);
BASE64Decoderdecoder=newBASE64Decoder();
byte[]b1=decoder.decodeBuffer(cryptograph);
/**執行解密操作*/
byte[]b=cipher.doFinal(b1);
returnnewString(b);
}

publicstaticvoidmain(String[]args){
try{
Stringsource="HelloWorld!";//要加密的字元串
Stringcryptograph=encrypt(source);
System.out.println(cryptograph);

Stringtarget=decrypt(cryptograph);//解密密文
System.out.println(target);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}//生成的密文
}
}

⑽ 怎樣在JAVA中用位運算(128位)來實現許可權的管理

用並運算試試,
用這個128位的數字遞歸並上2( ? & 2)判斷結果就OK了

熱點內容
通文件夾鎖 發布:2025-01-18 11:49:37 瀏覽:3
java測試類 發布:2025-01-18 11:48:58 瀏覽:504
查詢最大sql 發布:2025-01-18 11:43:14 瀏覽:266
網易我的世界伺服器添加第三方mod 發布:2025-01-18 11:32:10 瀏覽:212
oracle批量插入存儲過程 發布:2025-01-18 10:49:57 瀏覽:41
分表存儲查詢 發布:2025-01-18 10:45:18 瀏覽:469
缺頁演算法 發布:2025-01-18 10:40:20 瀏覽:778
撕裂重罪6游戲電腦需要什麼配置 發布:2025-01-18 10:37:23 瀏覽:444
python大小寫忽略 發布:2025-01-18 10:36:13 瀏覽:441
如何給桌面的游戲加密碼 發布:2025-01-18 10:09:34 瀏覽:231