簡體   English   中英

如何從兩個 n 位二進制數創建一個 2n 位二進制數?

[英]How can i create from two n-bit binary numbers a 2n-binary number?

假設我有 n=4 所以兩個 4 位二進制數。 B1 = b1010B2 = b0110
我想創建一個類似於b10100110 (B1B2) 的 8 位數字。
我怎么能用Java做這樣的事情?

將 1 乘以16 ,這與在末尾添加四個零相同。 然后添加它們。 通常,乘以2^n會添加n zeroes

您當然可以按照建議將它們相乘和相加。 我更喜歡使用位操作運算符。

       int b1 = 0b1010;
       int b2 = 0b0110;

       // shift b1 left 4 bits and then OR it with b2.
       int result = (b1<<4)|b2;

       System.out.println(Integer.toBinaryString(result));

作為旁注,對於您左移的每一位,您都乘以 2 的冪。因此,左移 4 位就是乘以 16。對於右移,您正在除以 2 的冪。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM